cvs: phpdoc-de /language control-structures.xml /language/oop5 magic.xml /reference/info/functions getenv.xml /reference/outcontrol/functions
ob-start.xml /reference/sem/functions sem-get.xml /reference/xslt constants.xml /security database.xml filesystem.xml globals.xml variables.xml

From: Date: Mon, 24 Mar 2008 21:53:51 +0000
Subject: cvs: phpdoc-de /language control-structures.xml /language/oop5 magic.xml /reference/info/functions getenv.xml /reference/outcontrol/functions
ob-start.xml /reference/sem/functions sem-get.xml /reference/xslt constants.xml /security database.xml filesystem.xml globals.xml variables.xml
Groups: php.doc.de 
Request: Send a blank email to doc-de+get-2607@lists.php.net to get a copy of this message
hholzgra Mon Mar 24 21:53:51 2008 UTC Modified files: /phpdoc-de/language control-structures.xml /phpdoc-de/language/oop5 magic.xml /phpdoc-de/reference/info/functions getenv.xml /phpdoc-de/reference/outcontrol/functions ob-start.xml /phpdoc-de/reference/sem/functions sem-get.xml /phpdoc-de/reference/xslt constants.xml /phpdoc-de/security database.xml filesystem.xml globals.xml variables.xml Log: translation updates

http://cvs.php.net/viewvc.cgi/phpdoc-de/language/control-structures.xml?r1=1.44&r2=1.45&diff_format=u Index: phpdoc-de/language/control-structures.xml diff -u phpdoc-de/language/control-structures.xml:1.44 phpdoc-de/language/control-structures.xml:1.45 --- phpdoc-de/language/control-structures.xml:1.44 Sun Mar 23 00:02:34 2008 +++ phpdoc-de/language/control-structures.xml Mon Mar 24 21:53:51 2008 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.44 $ --> -<!-- EN-Revision: 1.94 Maintainer: hholzgra Status: ready --> +<!-- $Revision: 1.45 $ --> +<!-- EN-Revision: 1.114 Maintainer: hholzgra Status: ready --> <!-- CREDITS: tzwenny, betz --> <chapter xml:id="language.control-structures" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> @@ -296,13 +296,13 @@ </para> </sect1> <sect1 xml:id="control-structures.do.while"> - <title><literal>do..while</literal></title> + <title><literal>do-while</literal></title> <simpara> - <literal>do..while</literal>-Schleifen sind den <literal>while</literal> + <literal>do-while</literal>-Schleifen sind den <literal>while</literal> -Schleifen sehr ähnlich, außer dass der Wahrheitsgehalt des Ausdrucks erst am Ende jedes Durchlaufs geprüft wird, statt am Anfang. Der Hauptunterschied zu gewöhnlichen <literal>while</literal>-Schleifen ist der, dass die Schleife - bei <literal>do..while</literal> in jeden Fall einmal durchlaufen wird + bei <literal>do-while</literal> in jeden Fall einmal durchlaufen wird (die Bedingung wird erst am Ende eines Durchlaufs geprüft).Bei <literal>while</literal>-Schleifen hingegen kann es durchaus passieren, dass die Schleife nie durchlaufen wird (die Bedingung wird immer am Anfang @@ -310,7 +310,7 @@ ausgewertet endet die Ausführung der Schleife sofort). </simpara> <para> - Es gibt nur eine Syntax für <literal>do..while</literal>-Schleifen: + Es gibt nur eine Syntax für <literal>do-while</literal>-Schleifen: <informalexample> <programlisting role="php"> <![CDATA[ @@ -332,7 +332,7 @@ </simpara> <para> Erfahrene C-Anwender kennen auch die Möglichkeit, Programm-Blöcke - mit <literal>do..while</literal> (0) einzuschliessen und dann die + mit <literal>do-while</literal> (0) einzuschliessen und dann die <link linkend="control-structures.break"><literal>break</literal></link> Anweisung zu benutzen. Der folgende Programm-Ausschnitt zeigt diese Möglichkeit: @@ -459,23 +459,12 @@ </programlisting> </informalexample> </para> - <para> - Andere Sprachen haben für das Durchlaufen eines Hashs oder Arrays eine - <literal>foreach</literal>-Anweisung. PHP 3 hat dies nicht; im Gegensatz - zu PHP 4 (vgl. - <link linkend="control-structures.foreach">foreach</link>). - In PHP 3 können Sie für diesen Zweck - <link linkend="control-structures.while">while</link> mit der - <function>list</function>- und <function>each</function>-Funktion - kombinieren. Beispiele finden Sie in der Dokumentation zu diesen - Funktionen. - </para> </sect1> <sect1 xml:id="control-structures.foreach"> <title><literal>foreach</literal></title> <para> - PHP 4 (nicht PHP 3) enthält ein <literal>foreach</literal> Konstrukt, + Mit PHP 4 wurde ein <literal>foreach</literal> Konstrukt eingeführt, genau wie Perl und einige andere Sprachen. Diese ermöglicht es, auf einfache Weise ein Array zu durchlaufen. <literal>foreach</literal> funktioniert nur in Verbindung mit Arrays. Wenn Sie versuchen @@ -528,6 +517,27 @@ foreach-Schleife ist komplett abgearbeitet, wird der interne Arrayzeiger (des originalen Arrays) auf das letzte Element zeigen. </para> + <para> + Beginnend mit PHP 5 können Sie die Arrayelemente einfach ändern + wenn Sie der <literal>$value</literal> Variable ein &amp; voranstellen. + Hierdurch werden die Elemente per <link linkend="language.references">reference</link> + zugewiesen und nicht als Kopie des Wertes. + <informalexample> + <programlisting role="php"> +<![CDATA[ +<?php +$arr = array(1, 2, 3, 4); +foreach ($arr as &$value) { + $value = $value * 2; +} +// $arr ist nun array(2, 4, 6, 8) +?> +]]> + </programlisting> + </informalexample> + Dies ist nur möglich wenn das Array referenziert werden kann + (d.h. veränderbar ist). + </para> </note> </para> <note> @@ -615,7 +625,7 @@ } /* foreach Beispiel 4: multidimensionale Arrays */ - +$a = array(); $a[0][0] = "a"; $a[0][1] = "b"; $a[1][0] = "y"; @@ -644,7 +654,7 @@ <simpara> <literal>break</literal> bricht die Ausführung der aktuellen <literal>for</literal>, <literal>foreach</literal> - <literal>while</literal>, <literal>do..while</literal> Schleife oder einer + <literal>while</literal>, <literal>do-while</literal> Schleife oder einer <literal>switch</literal> Anweisungssequenz ab. </simpara> <simpara> @@ -807,7 +817,8 @@ das Gleiche zu erreichen. Einmal werden <literal>if</literal> und <literal>elseif</literal> Anweisungen benutzt, das andere Mal eine <literal>switch</literal>-Anweisung: - <informalexample> + <example> + <title><literal>switch</literal> Struktur</title> <programlisting role="php"> <![CDATA[ <?php @@ -833,7 +844,27 @@ ?> ]]> </programlisting> - </informalexample> + </example> + <example> + <title><literal>switch</literal> erlaubt die Nutzung von Strings</title> + <programlisting role="php"> +<![CDATA[ +<?php +switch ($i) { +case "apple": + echo "i is apple"; + break; +case "bar": + echo "i is bar"; + break; +case "cake": + echo "i is cake"; + break; +} +?> +]]> + </programlisting> + </example> </para> <para> Es ist wichtig, die Ausführung einer <literal>switch</literal>-Anweisung @@ -1227,7 +1258,8 @@ weiterhin ausgeführt. Stellen Sie außerdem sicher, dass Sie einen gültigen <link linkend="ini.include-path">include_path</link> gesetzt haben. Beachten Sie, dass eine Parse Error in einer Datei, die mit require - eingebunden wurde, die Ausführung ihre Skripts nicht unterbricht. + eingebunden wurde, die Ausführung ihre Skripts vor PHP 4.3.5 nicht unterbricht. + Beginnend mit PHP 4.3.5 wird das Skript in diesem Fall abgebrochen. </simpara> <simpara> Dateien die mit include eingebunden werden, werden zuerst im include_path @@ -1241,6 +1273,8 @@ <filename>b.php</filename> zuerst im Verzeichnis <filename class="directory">/www/</filename> gesucht und danach im Verzeichnis <filename class="directory">/www/include/</filename>. + Beginnt der Pfad mit <literal>../</literal> so wird der include_path + nur relativ zum aktuellen Verzeichnis durchsucht. </simpara> <simpara> Wenn eine Datei eingebunden wird, erbt der enthaltene Code den @@ -1418,6 +1452,30 @@ diese werden dann an dem Punkt Ihres Skripts eingeführt, von wo aus der Aufruf mit include erfolgt ist. </simpara> + <para> + Da <function>include</function> ein spezielles Sprachkonstrukt ist + kann das Argument auch ohne Klammern übergeben werden. Sie sollten + dies beachten falls Sie den Rückgabewert vergleichen wollen. + <example> + <title>Prüfung des Rückgabewerts von include</title> + <programlisting role="php"> +<![CDATA[ +<?php +// das folgende funktioniert nicht, es wird als +// include(('vars.php') == 'OK'), d.h. include(''), ausgewertet +if (include('vars.php') == 'OK') { + echo 'OK'; +} + +// das folgende funktioniert +if ((include 'vars.php') == 'OK') { + echo 'OK'; +} +?> +]]> + </programlisting> + </example> + </para> <note> <simpara> In PHP 3 darf eine return-Anweisung nicht innerhalb eines Blocks @@ -1467,7 +1525,24 @@ <literal>$bar</literal> hat den Wert <literal>1</literal>, weil include erfolgreich war. Beachten Sie die Unterschiede in den obigen Beispielen. Das erste nutzt <function>return</function> innerhalb der eingebundenen - Datei im Gegensatz zum zweiten Beispiel. Weitere Möglichkeiten Dateien in + Datei im Gegensatz zum zweiten Beispiel. + Kann die Datei nicht eingebunden werden wird &false; zurückgegeben + und eine <literal>E_WARNING</literal> Warnung ausgegeben. + </simpara> + <para> + Funktionen die innerhalb einer Include-Datei definiert werden können + unabhängig davon ob sie vor oder nach der <function>return</function> + Anweisung stehen in der Hauptdatei benutzt werden. + PHP 5 bricht mit einem fatalen Fehler ab wenn die Datei zweimal eingebunden + wird da die enthaltenen Funktionen bereits definiert sind, PHP 4 dagegen + ignoriert funktionen die nach der <function>return</function> Anweisung + definiert werden. + Es wird empfohlen <function>include_once</function> zu benutzen und nicht + selbst innerhalb der eingebundenen Datei zu prüfen ob die Datei bereits + eingebunden wurde und mit einer bedingten return Anweisung abzubrechen. + </para> + <simpara> + Weitere Möglichkeiten Dateien in Variablen "einzubinden" bieten ihnen die Funktionen <function>fopen</function> und <function>file</function> oder <function>include</function> im Zusammenspiel mit den @@ -1509,11 +1584,15 @@ <link xlink:href="&url.php.pear;">PEAR</link>-Code entnehmen, welcher im aktuellsten PHP-Sourcecode enthalten ist. </para> - <note> <para> - <function>require_once</function> steht ab PHP 4.01pl2 zur - Verfügung. + Der Rückgabewert entspricht dem von <function>include</function>. + Wurde die Datei bereits eingebunden wird &true; zurückgegeben. </para> + <note> + <para> + <function>require_once</function> steht ab PHP 4.01pl2 zur + Verfügung. + </para> </note> <note> <para> @@ -1531,11 +1610,15 @@ <![CDATA[ <?php require_once("a.php"); // bindet a.php ein -require_once("A.php"); // bindet a.php auf Windows nochmal ein! +require_once("A.php"); // bindet a.php auf Windows nochmal ein! (nur PHP 4) ?> ]]> </programlisting> </example> + Dieses Verhalten hat sich in PHP 5 geändert - der Pfad wird zuerst + normalisiert so dass <filename>C:\PROGRA~1\A.php</filename> und + <filename>C:\Program Files\a.php</filename> als gleich erkannt + werden und so die Datei nur einmal eingebunden wird. </para> </note> &warn.no-win32-fopen-wrapper; @@ -1573,6 +1656,10 @@ <link xlink:href="&url.php.pear;">PEAR</link>-Code entnehmen, welcher im aktuellsten PHP-Source-Code enthalten ist. </para> + <para> + Der Rückgabewert entspricht dem von <function>include</function>. + Wurde die Datei bereits eingebunden wird &true; zurückgegeben. + </para> <note> <para> <function>include_once</function> steht ab PHP 4.01pl2 zur @@ -1595,11 +1682,15 @@ <![CDATA[ <?php include_once("a.php"); // bindet a.php ein -include_once("A.php"); // bindet a.php auf Windows nochmal ein! +include_once("A.php"); // bindet a.php auf Windows nochmal ein! (nur PHP 4) ?> ]]> </programlisting> </example> + Dieses Verhalten hat sich in PHP 5 geändert - der Pfad wird zuerst + normalisiert so dass <filename>C:\PROGRA~1\A.php</filename> und + <filename>C:\Program Files\a.php</filename> als gleich erkannt + werden und so die Datei nur einmal eingebunden wird. </para> </note> &warn.no-win32-fopen-wrapper; http://cvs.php.net/viewvc.cgi/phpdoc-de/language/oop5/magic.xml?r1=1.9&r2=1.10&diff_format=u Index: phpdoc-de/language/oop5/magic.xml diff -u phpdoc-de/language/oop5/magic.xml:1.9 phpdoc-de/language/oop5/magic.xml:1.10 --- phpdoc-de/language/oop5/magic.xml:1.9 Sun Mar 23 00:02:34 2008 +++ phpdoc-de/language/oop5/magic.xml Mon Mar 24 21:53:51 2008 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.9 $ --> -<!-- EN-Revision: 1.15 Maintainer: hholzgra Status: ready --> +<!-- $Revision: 1.10 $ --> +<!-- EN-Revision: 1.20 Maintainer: hholzgra Status: ready --> <!-- Credits: simp --> <sect1 xml:id="language.oop5.magic" xmlns="http://docbook.org/ns/docbook"> <title>Magische Methoden</title> @@ -10,6 +10,7 @@ <literal>__destruct</literal> (siehe auch <link linkend="language.oop5.decon">Konstruktoren und Destruktoren</link>), <literal>__call</literal>, + <literal>__callStatic</literal>, <literal>__get</literal>, <literal>__set</literal>, <literal>__isset</literal>, @@ -18,9 +19,8 @@ <literal>__sleep</literal>, <literal>__wakeup</literal>, <literal>__toString</literal>, - <literal>__set_state</literal>, - <link linkend="language.oop5.cloning">__clone</link> und - <link linkend="language.oop5.autoload">__autoload</link> + <literal>__set_state</literal> und + <link linkend="language.oop5.cloning">__clone</link> 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. http://cvs.php.net/viewvc.cgi/phpdoc-de/reference/info/functions/getenv.xml?r1=1.5&r2=1.6&diff_format=u Index: phpdoc-de/reference/info/functions/getenv.xml diff -u phpdoc-de/reference/info/functions/getenv.xml:1.5 phpdoc-de/reference/info/functions/getenv.xml:1.6 --- phpdoc-de/reference/info/functions/getenv.xml:1.5 Sat Jun 23 13:21:38 2007 +++ phpdoc-de/reference/info/functions/getenv.xml Mon Mar 24 21:53:51 2008 @@ -1,38 +1,89 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.5 $ --> -<!-- EN-Revision: 1.1 Maintainer: nobody Status: ready --> - <refentry xml:id="function.getenv" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> - <refnamediv> - <refname>getenv</refname> - <refpurpose> - Zeigt den Wert einer Umgebungsvariablen an - </refpurpose> - </refnamediv> - <refsect1> - <title>Beschreibung</title> - <methodsynopsis> - <type>string</type><methodname>getenv</methodname> - <methodparam><type>string</type><parameter>varname</parameter></methodparam> - </methodsynopsis> - <para> - Zeigt den Wert der Umgebungsvariablen - <parameter>varname</parameter> an oder &false; bei einem Fehler. - <informalexample> - <programlisting role="php"> -$ip = getenv ("REMOTE_ADDR"); // get the ip number of the user - </programlisting> - </informalexample> - </para> - <para> - Eine Liste aller Umgebungsvariablen wird mit - <function>phpinfo</function> angezeigt. Ein Überlick über viele - Umgebungsvariablen und deren Bedeutung findet sich unter den - <link xlink:href="&url.cgispecs;">CGI Spezificationen</link>, speziell - auf der Seite der <link xlink:href="&url.cgispec;">Umgebungsvariablen - </link>. - </para> - </refsect1> - </refentry> +<!-- $Revision: 1.6 $ --> +<!-- EN-Revision: 1.12 Maintainer: hholzgra Status: ready --> + +<refentry xml:id="function.getenv" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> + <refnamediv> + <refname>getenv</refname> + <refpurpose>Liefert den Wert einer Umgebungsvariable</refpurpose> + </refnamediv> + + <refsect1 role="description"> + &reftitle.description; + <methodsynopsis> + <type>string</type><methodname>getenv</methodname> + <methodparam><type>string</type><parameter>varname</parameter></methodparam> + </methodsynopsis> + <para> + Liefert den Wert einer Umgebungsvariable. + </para> + <para> + Eine Liste aller Umgebungsvariablen können Sie über die Funktion + <function>phpinfo</function> anzeigen lassen. + Die Bedeutung vieler dieser Variablen können Sie in der + <link xlink:href="&url.cgispecs;">CGI Spezifikation</link> + im Abschnitt über <link xlink:href="&url.cgispec;" + >Umgebungsvariablen</link>. + </para> + </refsect1> + + <refsect1 role="parameters"> + &reftitle.parameters; + <para> + <variablelist> + <varlistentry> + <term><parameter>varname</parameter></term> + <listitem> + <para> + Der Variablenname + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + + <refsect1 role="returnvalues"> + &reftitle.returnvalues; + <para> + Gibt den Wert der Umgebungsvariable + <parameter>varname</parameter> zurück + oder &false; bei Fehlern + </para> + </refsect1> + + <refsect1 role="examples"> + &reftitle.examples; + <para> + <example> + <title><function>getenv</function> Beispiel</title> + <programlisting role="php"> +<![CDATA[ +<?php +// nutzen Sie getenv() ... +$ip = getenv('REMOTE_ADDR'); + +// ... oder einfache die superglobalen Arrays ($_SERVER oder $_ENV) +$ip = $_SERVER['REMOTE_ADDR']; +?> +]]> + </programlisting> + </example> + </para> + </refsect1> + + <refsect1 role="seealso"> + &reftitle.seealso; + <para> + <simplelist> + <member><function>putenv</function></member> + <member><function>apache_getenv</function></member> + <member><link linkend="language.variables.superglobals">Superglobals</link></member> + </simplelist> + </para> + </refsect1> + +</refentry> <!-- Keep this comment at the end of the file Local variables: http://cvs.php.net/viewvc.cgi/phpdoc-de/reference/outcontrol/functions/ob-start.xml?r1=1.7&r2=1.8&diff_format=u Index: phpdoc-de/reference/outcontrol/functions/ob-start.xml diff -u phpdoc-de/reference/outcontrol/functions/ob-start.xml:1.7 phpdoc-de/reference/outcontrol/functions/ob-start.xml:1.8 --- phpdoc-de/reference/outcontrol/functions/ob-start.xml:1.7 Sat Jun 23 13:21:44 2007 +++ phpdoc-de/reference/outcontrol/functions/ob-start.xml Mon Mar 24 21:53:51 2008 @@ -1,13 +1,13 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.7 $ --> +<!-- $Revision: 1.8 $ --> <!-- EN-Revision: 1.20 Maintainer: hholzgra Status: ready --> <refentry xml:id="function.ob-start" xmlns="http://docbook.org/ns/docbook"> <refnamediv> <refname>ob_start</refname> <refpurpose>Ausgabepufferung aktivieren</refpurpose> </refnamediv> - <refsect1> - <title>Description</title> + <refsect1 role="description"> + &reftitle.description; <methodsynopsis> <type>bool</type><methodname>ob_start</methodname> <methodparam choice="opt"><type>callback</type><parameter>output_callback</parameter></methodparam> http://cvs.php.net/viewvc.cgi/phpdoc-de/reference/sem/functions/sem-get.xml?r1=1.6&r2=1.7&diff_format=u Index: phpdoc-de/reference/sem/functions/sem-get.xml diff -u phpdoc-de/reference/sem/functions/sem-get.xml:1.6 phpdoc-de/reference/sem/functions/sem-get.xml:1.7 --- phpdoc-de/reference/sem/functions/sem-get.xml:1.6 Sat Jun 23 13:21:47 2007 +++ phpdoc-de/reference/sem/functions/sem-get.xml Mon Mar 24 21:53:51 2008 @@ -1,49 +1,123 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.6 $ --> -<!-- EN-Revision: 1.9 Maintainer: hholzgra Status: ready --> - <refentry xml:id="function.sem-get" xmlns="http://docbook.org/ns/docbook"> - <refnamediv> - <refname>sem_get</refname> - <refpurpose>Zugriff auf ein Semaphor anfordern</refpurpose> - </refnamediv> - <refsect1> - <title>Beschreibung</title> - <methodsynopsis> - <type>resource</type><methodname>sem_get</methodname> - <methodparam><type>int</type><parameter>key</parameter></methodparam> - <methodparam choice="opt"><type>int</type><parameter>max_acquire</parameter></methodparam> - <methodparam choice="opt"><type>int</type><parameter>perm</parameter></methodparam> - <methodparam choice="opt"><type>int</type><parameter>auto_release</parameter></methodparam> - </methodsynopsis> - <para> - <function>sem_get</function> liefert eine ID die für den Zugriff - auf das System V Semaphor mit dem gegebenen <parameter>key</parameter> - benutzt werden kann. Der Semaphor wird mit den in <parameter>perm</parameter> - angegebenen Zugriffsrechten angelegt falls nötig. Die Anzahlder Prozesse - die gleichzeitig Zugriff auf den Semaphor erhalten können wird mit - <parameter>max_acquire</parameter> festgelegt (Default: 1). - </para> - <para> - Der optionale Parameter <parameter>auto_release</parameter> legt - fest ob der Semaphor zum Scriptende automatisch entfernt werden - soll. Der Parameter existiert seit PHP 4.3.0. - </para> - <para> - Liefert eine positive Semaphor ID be Erfolg oder &false; im - Fehlerfall. - </para> - <para> - Weitere Aufrufe von <function>sem_get</function> für den - gleichen Key liefern unterschiedliche Semaphor IDs, diese - greifen aber auf den gleichen darunterliegenden Semaphor - zu. - </para> - <para> - Siehe auch<function>sem_acquire</function>, - <function>sem_release</function> und <function>ftok</function>. - </para> - </refsect1> - </refentry> +<!-- $Revision: 1.7 $ --> +<!-- EN-Revision: 1.12 Maintainer: hholzgra Status: ready --> +<refentry xml:id="function.sem-get" xmlns="http://docbook.org/ns/docbook"> + <refnamediv> + <refname>sem_get</refname> + <refpurpose>Zugriff auf ein Semaphor anfordern</refpurpose> + </refnamediv> + <refsect1 role="description"> + &reftitle.description; + <methodsynopsis> + <type>resource</type><methodname>sem_get</methodname> + <methodparam><type>int</type><parameter>key</parameter></methodparam> + <methodparam choice="opt"><type>int</type><parameter>max_acquire</parameter></methodparam> + <methodparam choice="opt"><type>int</type><parameter>perm</parameter></methodparam> + <methodparam choice="opt"><type>int</type><parameter>auto_release</parameter></methodparam> + </methodsynopsis> + <para> + <function>sem_get</function> liefert eine ID die für den Zugriff + auf das System V Semaphor mit dem gegebenen <parameter>key</parameter> + benutzt werden kann. + </para> + <para> + Weitere Aufrufe von <function>sem_get</function> für den + gleichen Key liefern unterschiedliche Semaphor IDs, diese + greifen aber auf den gleichen darunterliegenden Semaphor + zu. + </para> + </refsect1> + + <refsect1 role="parameters"> + &reftitle.parameters; + <para> + <variablelist> + <varlistentry> + <term><parameter>key</parameter></term> + <listitem> + <para> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>max_acquire</parameter></term> + <listitem> + <para> + Die Anzahl der Prozesse die gleichzeitig Zugriff auf den + Semaphor erhalten können wird durch den Parameter + <parameter>max_acquire</parameter> festgelegt + (Vorgabewert ist 1). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>perm</parameter></term> + <listitem> + <para> + Die Zugriffsrechte für den Semaphore. Vorgabewert ist 0777. + Der Wert wird nur gesetzt wenn der aktuelle Prozess der einzige + ist der in diesem Augenblick mit dem Semaphor verknüpft ist. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>auto_release</parameter></term> + <listitem> + <para> + Legt fest ob der Semaphor am Skriptende automatisch freigegeben + werden soll. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + + <refsect1 role="returnvalues"> + &reftitle.returnvalues; + <para> + Gibt einen positiven Semaphor Identifier zrück oder &false; + bei Fehlern. + </para> + </refsect1> + + <refsect1 role="changelog"> + &reftitle.changelog; + <para> + <informaltable> + <tgroup cols="2"> + <thead> + <row> + <entry>&Version;</entry> + <entry>&Description;</entry> + </row> + </thead> + <tbody> + <row> + <entry>4.3.0</entry> + <entry> + Der <parameter>auto_release</parameter> Parameter + wurde hinzugefügt. + </entry> + </row> + </tbody> + </tgroup> + </informaltable> + </para> + </refsect1> + + <refsect1 role="seealso"> + &reftitle.seealso; + <para> + <simplelist> + <member><function>sem_acquire</function></member> + <member><function>sem_release</function></member> + <member><function>ftok</function></member> + </simplelist> + </para> + </refsect1> + +</refentry> <!-- Keep this comment at the end of the file Local variables: http://cvs.php.net/viewvc.cgi/phpdoc-de/reference/xslt/constants.xml?r1=1.2&r2=1.3&diff_format=u Index: phpdoc-de/reference/xslt/constants.xml diff -u phpdoc-de/reference/xslt/constants.xml:1.2 phpdoc-de/reference/xslt/constants.xml:1.3 --- phpdoc-de/reference/xslt/constants.xml:1.2 Tue Mar 11 22:59:20 2008 +++ phpdoc-de/reference/xslt/constants.xml Mon Mar 24 21:53:51 2008 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.2 $ --> -<!-- EN-Revision: 1.1 Maintainer: hholzgra Status: working --> +<!-- $Revision: 1.3 $ --> +<!-- EN-Revision: 1.6 Maintainer: hholzgra Status: ready --> <appendix xml:id="xslt.constants" xmlns="http://docbook.org/ns/docbook"> &reftitle.constants; @@ -13,8 +13,9 @@ </term> <listitem> <simpara> - Drop all logging and error reporting. This is a generic option - for all backends that may be added in the future. + Deaktiviert Protokol- und Fehlerausgaben. Dies ist eine + generische Option für alle Backends die möglicherweise + in einer zukünfitgen Version hinzugefügt wird. </simpara> </listitem> </varlistentry> @@ -25,8 +26,9 @@ </term> <listitem> <para> - Tell <productname>Sablotron</productname> to parse public entities. - By default this has been turned off. + Gibt <productname>Sablotron</productname> Anweisung + öffentliche Entitäten einzulesen. Dies ist normalerweise + deaktiviert. </para> </listitem> </varlistentry> @@ -37,9 +39,9 @@ </term> <listitem> <para> - Do not add the meta tag &quot;Content-Type&quot; for HTML output. - The default is set during compilation of - <productname>Sablotron</productname>. + Kein &quot;Content-Type&quot; Metatag zur HTML Ausgabe + hinzufügen. Der Vorgabewert wird beim kompilieren von + <productname>Sablotron</productname> festgelegt. </para> </listitem> </varlistentry> @@ -50,7 +52,8 @@ </term> <listitem> <simpara> - Suppress the whitespace stripping (on data files only). + Deaktiviert das Entfernen von Leerzeichen (nur bei + Datendateien). </simpara> </listitem> </varlistentry> @@ -61,7 +64,8 @@ </term> <listitem> <simpara> - Consider unresolved documents (the document() function) non-lethal. + Betrachte nicht auflösbare Dokumente (document() Funktion) + als nicht kritisch. </simpara> </listitem> </varlistentry> @@ -82,8 +86,8 @@ </term> <listitem> <simpara> - Error return code, for <link - linkend="function.xslt-set-scheme-handlers">scheme handlers</link>. + Fehlerkode zur Rückgabe aus <link + linkend="function.xslt-set-scheme-handlers">Schema Handlern</link>. </simpara> </listitem> </varlistentry> http://cvs.php.net/viewvc.cgi/phpdoc-de/security/database.xml?r1=1.4&r2=1.5&diff_format=u Index: phpdoc-de/security/database.xml diff -u phpdoc-de/security/database.xml:1.4 phpdoc-de/security/database.xml:1.5 --- phpdoc-de/security/database.xml:1.4 Sat Jun 23 13:21:53 2007 +++ phpdoc-de/security/database.xml Mon Mar 24 21:53:51 2008 @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.4 $ --> -<!-- EN-Revision: 1.5 Maintainer: tom Status: ready --> +<!-- $Revision: 1.5 $ --> +<!-- EN-Revision: 1.13 Maintainer: hholzgra Status: ready --> +<!-- Credits: tom --> <chapter xml:id="security.database" xmlns="http://docbook.org/ns/docbook"> <title>Datenbank - Sicherheit</title> @@ -125,18 +126,17 @@ <![CDATA[ // Speichern des Passwort hash $query = sprintf("INSERT INTO users(name,pwd) VALUES('%s','%s');", - addslashes($username), md5($password)); -$result = pg_exec($connection, $query); + pg_escape_string($username), md5($password)); +$result = pg_query($connection, $query); // Afragen, ob der User das richtige Passwort übermittelt hat $query = sprintf("SELECT 1 FROM users WHERE name='%s' AND pwd='%s';", - addslashes($username), md5($password)); -$result = pg_exec($connection, $query); + pg_escape_string($username), md5($password)); +$result = pg_query($connection, $query); -if (pg_numrows($result) > 0) { +if (pg_num_rows($result) > 0) { echo "Welcome, $username!"; -} -else { +} else { echo "Authentication failed for $username."; } ]]> @@ -175,10 +175,10 @@ </title> <programlisting role="php"> <![CDATA[ -$offset = argv[0]; // Vorsicht, keine Validierung des Input ! +$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_exec($conn, $query); +$result = pg_query($conn, $query); // mit MySQL $result = mysql_query($query); ]]> @@ -403,9 +403,13 @@ </listitem> <listitem> <simpara> - Escapen Sie jeden nicht numerischen Input, welcher zur Datenbank - weitergereicht werden soll mit <function>addslashes</function> - oder <function>addcslashes</function>. Siehe auch <link + Escapen Sie jede nicht numerische Benutzereingabe, welcher zur Datenbank + weitergereicht werden soll mit der jeweiligen datenbankspezifischen + Escape-Funktion (z.B. <function>mysql_escape_string</function>, + <function>sql_escape_string</function> usw.). Wenn keine + datenbankspezifischen Escapemechanismen existieren können in der + Regel (je nach Datenbanktyp) auch die Funktion <function>addslashes</function> + und <function>addcslashes</function> von Nutzen sein. Siehe auch <link linkend="security.database.storage">das erste Beispiel</link>. Wie dieses Beispiel zeigt, sind in den statischen Teil der Abfrage eingebrachten Escapes nicht genug, und können leicht gehacked werden. http://cvs.php.net/viewvc.cgi/phpdoc-de/security/filesystem.xml?r1=1.2&r2=1.3&diff_format=u Index: phpdoc-de/security/filesystem.xml diff -u phpdoc-de/security/filesystem.xml:1.2 phpdoc-de/security/filesystem.xml:1.3 --- phpdoc-de/security/filesystem.xml:1.2 Sat Jun 23 13:21:53 2007 +++ phpdoc-de/security/filesystem.xml Mon Mar 24 21:53:51 2008 @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.2 $ --> -<!-- EN-Revision: 1.3 Maintainer: tom Status: ready --> +<!-- $Revision: 1.3 $ --> +<!-- EN-Revision: 1.3 Maintainer: hholzgra Status: ready --> +<!-- Credits: tom --> <chapter xml:id="security.filesystem" xmlns="http://docbook.org/ns/docbook"> <title>Dateisystem - Sicherheit</title> <simpara> http://cvs.php.net/viewvc.cgi/phpdoc-de/security/globals.xml?r1=1.2&r2=1.3&diff_format=u Index: phpdoc-de/security/globals.xml diff -u phpdoc-de/security/globals.xml:1.2 phpdoc-de/security/globals.xml:1.3 --- phpdoc-de/security/globals.xml:1.2 Sat Jun 23 13:21:53 2007 +++ phpdoc-de/security/globals.xml Mon Mar 24 21:53:51 2008 @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.2 $ --> -<!-- EN-Revision: 1.3 Maintainer: tom Status: ready --> +<!-- $Revision: 1.3 $ --> +<!-- EN-Revision: 1.8 Maintainer: hholzgra Status: ready --> +<!-- Credits: tom --> <chapter xml:id="security.globals" xmlns="http://docbook.org/ns/docbook"> <title>Verwendung von Register Globals</title> + &warn.deprecated.removed-6-0-0; <para> Ein Feature von PHP zur Erhöhung der Sicherheit ist die Konfiguration von PHP mit <link linkend="ini.register-globals">register_globals</link> = off. @@ -81,6 +83,11 @@ <function>error_reporting</function> so einstellen, dass Fehler des Levels <constant>E_NOTICE</constant> angezeigt werden. </para> + <para> + Sie knnen die On und Off Einstellungen von register_globals + emulieren, nheres hierzu finden Sie in den <link + linkend="faq.misc.registerglobals">FAQ</link>. + </para> &note.superglobals; http://cvs.php.net/viewvc.cgi/phpdoc-de/security/variables.xml?r1=1.2&r2=1.3&diff_format=u Index: phpdoc-de/security/variables.xml diff -u phpdoc-de/security/variables.xml:1.2 phpdoc-de/security/variables.xml:1.3 --- phpdoc-de/security/variables.xml:1.2 Sat Jun 23 13:21:53 2007 +++ phpdoc-de/security/variables.xml Mon Mar 24 21:53:51 2008 @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.2 $ --> -<!-- EN-Revision: 1.3 Maintainer: tom Status: ready --> +<!-- $Revision: 1.3 $ --> +<!-- EN-Revision: 1.5 Maintainer: hholzgra Status: ready --> +<!-- Credits: tom --> <chapter xml:id="security.variables" xmlns="http://docbook.org/ns/docbook"> <title>Vom Nutzer übermittelte Daten</title> <para> @@ -31,6 +32,8 @@ ]]> </programlisting> </example> + </para> + <para> 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: @@ -62,6 +65,8 @@ </simpara> </listitem> </itemizedlist> + </para> + <para> 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
« previous php.doc.de (#2607) next »