svn: /phpdoc/de/trunk/ language/control-structures/switch.xml reference/mysql/configure.xml
[email protected] (Hartmut Holzgraefe)
| Newsgroups | php.doc.de |
|---|---|
| Message-ID | <[email protected]> |
hholzgra Sun, 03 Jul 2011 09:14:19 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=312854
Log:
fresh translations
Changed paths:
A phpdoc/de/trunk/language/control-structures/switch.xml
A phpdoc/de/trunk/reference/mysql/configure.xml
svn-diffs-312854.txt
(text/x-diff, 15.5 KB)
Added: phpdoc/de/trunk/language/control-structures/switch.xml
===================================================================
--- phpdoc/de/trunk/language/control-structures/switch.xml (rev 0)
+++ phpdoc/de/trunk/language/control-structures/switch.xml 2011-07-03 09:14:19 UTC (rev 312854)
@@ -0,0 +1,255 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- $Revision$ -->
+<!-- EN-Revision: 288721 Maintainer: hholzgra Status: working -->
+<sect1 xml:id="control-structures.switch" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <title><literal>switch</literal></title>
+ <simpara>
+ Die <literal>switch</literal> Anweisung entspricht in etwa einer
+ Folge von <literal>if</literal> Anweisungen die jeweils den gleichen
+ Ausdruck prüfen. Es kommt oft vor das 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 <literal>switch</literal> Anweisung eingeführt.
+ </simpara>
+ <note>
+ <simpara>
+ Beachten Sie das im Unterschied zu einigen anderen Sprachen die
+ <link linkend="control-structures.continue">continue</link> Anweisung
+ auch auf switch anwendbar ist und sich ähnlich wie <literal>break</literal>
+ 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 <literal>continue 2</literal> angeben.
+ </simpara>
+ </note>
+ <note>
+ <para>
+ Beachten Sie auch das switch/case <link linkend="types.comparisions-loose"
+ >typschwache Vergleiche</link> durchführt.
+ </para>
+ </note>
+ <para>
+ Die folgenden beiden Beispiele zeigen zwei verschiedene Wege
+ um das gleiche Verhalten zu erreichen. Eines benutzt eine
+ Folge von <literal>if</literal> und <literal>elseif</literal>
+ Anweisungen, das andere eine <literal>switch</literal>
+ Anweisung:
+ <example>
+ <title><literal>switch</literal> Anweisung</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
+if ($i == 0) {
+ echo "i equals 0";
+} elseif ($i == 1) {
+ echo "i equals 1";
+} elseif ($i == 2) {
+ echo "i equals 2";
+}
+
+switch ($i) {
+ case 0:
+ echo "i equals 0";
+ break;
+ case 1:
+ echo "i equals 1";
+ break;
+ case 2:
+ echo "i equals 2";
+ break;
+}
+?>
+]]>
+ </programlisting>
+ </example>
+ <example>
+ <title><literal>switch</literal> gestattet den Vergleich mit 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>
+ Um Fehler zu vermeiden ist es wichtig zu verstehen wie eine
+ <literal>switch</literal> Anweisung ausgeführt wird. Eine
+ <literal>switch</literal> Anweisung wird zeilenweise (genauer:
+ Anweisung für Anweisung) ausgewertet. Zunächst einmal wird
+ überhaupt kein Code ausgeführt. Erst wenn eine <literal>case</literal>
+ Anweisung gefunden wird die dem Wert des an <literal>switch</literal>
+ übergebenen Ausdrucks entspricht beginnt PHP tatsächlich die folgenden
+ Anweisungen auszuführen. Die Ausführung wird fortgesetzt bis das Ende
+ der <literal>switch</literal> Anweisung erreicht ist oder bis PHP
+ bei der Ausführung auf eine <literal>break</literal> Anweisung stößt.
+ Wenn Sie am Ende eines <literal>case</literal> Blocks kein <literal
+ >break</literal> setzen so wird die Ausführung mit dem nächsten
+ <literal>case</literal> fortgesetzt, z.B.:
+ <informalexample>
+ <programlisting role="php">
+<![CDATA[
+<?php
+switch ($i) {
+ case 0:
+ echo "i equals 0";
+ case 1:
+ echo "i equals 1";
+ case 2:
+ echo "i equals 2";
+}
+?>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+ <simpara>
+ Here, if <varname>$i</varname> is equal to 0, PHP would execute all of the echo
+ statements! If <varname>$i</varname> is equal to 1, PHP would execute the last two
+ echo statements. You would get the expected behavior ('i equals 2'
+ would be displayed) only if <varname>$i</varname> is equal to 2. Thus,
+ it is important not to forget <literal>break</literal> statements
+ (even though you may want to avoid supplying them on purpose under
+ certain circumstances).
+ </simpara>
+ <simpara>
+ In a <literal>switch</literal> statement, the condition is
+ evaluated only once and the result is compared to each
+ <literal>case</literal> statement. In an <literal>elseif</literal>
+ statement, the condition is evaluated again. If your condition is
+ more complicated than a simple compare and/or is in a tight loop,
+ a <literal>switch</literal> may be faster.
+ </simpara>
+ <para>
+ The statement list for a case can also be empty, which simply
+ passes control into the statement list for the next case.
+ <informalexample>
+ <programlisting role="php">
+<![CDATA[
+<?php
+switch ($i) {
+case 0:
+case 1:
+case 2:
+ echo "i is less than 3 but not negative";
+ break;
+case 3:
+ echo "i is 3";
+}
+?>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+ <para>
+ A special case is the <literal>default</literal> case. This case matches
+ anything that wasn't matched by the other cases. For example:
+ <informalexample>
+ <programlisting role="php">
+<![CDATA[
+<?php
+switch ($i) {
+ case 0:
+ echo "i equals 0";
+ break;
+ case 1:
+ echo "i equals 1";
+ break;
+ case 2:
+ echo "i equals 2";
+ break;
+ default:
+ echo "i is not equal to 0, 1 or 2";
+}
+?>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+ <para>
+ The <literal>case</literal> expression may be any expression that
+ evaluates to a simple type, that is, integer or floating-point
+ numbers and strings. Arrays or objects cannot be used here unless
+ they are dereferenced to a simple type.
+ </para>
+ <para>
+ The alternative syntax for control structures is supported with
+ switches. For more information, see <link
+ linkend="control-structures.alternative-syntax">Alternative syntax
+ for control structures</link>.
+ <informalexample>
+ <programlisting role="php">
+<![CDATA[
+<?php
+switch ($i):
+ case 0:
+ echo "i equals 0";
+ break;
+ case 1:
+ echo "i equals 1";
+ break;
+ case 2:
+ echo "i equals 2";
+ break;
+ default:
+ echo "i is not equal to 0, 1 or 2";
+endswitch;
+?>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+ <para>
+ Its possible to use a semicolon instead of a colon after a case like:
+ <informalexample>
+ <programlisting role="php">
+<![CDATA[
+<?php
+switch($beer)
+{
+ case 'tuborg';
+ case 'carlsberg';
+ case 'heineken';
+ echo 'Good choice';
+ break;
+ default;
+ echo 'Please make a new selection...';
+ break;
+}
+?>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+</sect1>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:1
+sgml-indent-data:t
+indent-tabs-mode:nil
+sgml-parent-document:nil
+sgml-default-dtd-file:"~/.phpdoc/manual.ced"
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+vim600: syn=xml fen fdm=syntax fdl=2 si
+vim: et tw=78 syn=sgml
+vi: ts=1 sw=1
+-->
Property changes on: phpdoc/de/trunk/language/control-structures/switch.xml
___________________________________________________________________
Added: svn:keywords
+ Id Rev Revision Date LastChangedDate LastChangedRevision Author LastChangedBy HeadURL URL
Added: svn:eol-style
+ native
Added: phpdoc/de/trunk/reference/mysql/configure.xml
===================================================================
--- phpdoc/de/trunk/reference/mysql/configure.xml (rev 0)
+++ phpdoc/de/trunk/reference/mysql/configure.xml 2011-07-03 09:14:19 UTC (rev 312854)
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- $Revision$ -->
+<!-- EN-Revision: 302452 Maintainer: hholzgra Status: ready -->
+<section xml:id="mysql.installation" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
+ &reftitle.install;
+
+ <para xml:id="mysql.configure">
+ Benutzen Sie die
+ <option role="configure">--with-mysql[=DIR]</option>
+ Konfigurationsoption um diese Erweiterung zu kompilieren.
+ Der optionale Parameter <literal>[DIR]</literal> sollte dabei
+ das Verzeichnis angeben in dem Sie MySQL installiert haben.
+ </para>
+ <para>
+ 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 <link linkend="ref.mysqli">MySQLi</link>
+ Erweiterung.
+ </para>
+ <para>
+ 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.
+ </para>
+
+ <section xml:id="mysql.installation.linux">
+ <title>Installation auf Linux Systemen</title>
+ <section>
+ <title>PHP 4</title>
+ <para>
+ Die <option role="configure">--with-mysql</option> ist automatisch
+ aktiviert. Wünschen Sie keine MySQL Unterstützung so können Sie
+ diese mit <option role="configure">--without-mysql</option> deaktivieren.
+ Wird hinter <option role="configure">--with-mysql</option> kein
+ Verzeichnis angegeben so wird die mit PHP mitgelieferte MySQL
+ Client Bibliothek genutzt.
+ </para>
+ <para>
+ Anwender die auch andere Applikationen installiert haben die
+ MySQL nutzen (z.B. <literal>auth-mysql</literal>) sollten nicht
+ die mitgelieferte Bibliothek benutzen sondern statt dessen den
+ Pfad zur vorhandenen MySQL Installation angeben:
+ <option role="configure">--with-mysql=/pfad/zu/mysql</option>.
+ Dies erzwingt das PHP die auf dem System installierte Client
+ Bibliothek mit benutzt und vermeidet mögliche Versionskonflikte.
+ </para>
+ </section>
+ <section>
+ <title>PHP 5.0.x, 5.1.x, 5.2.x</title>
+ <para>
+ Die MySQL Client Bibliothek wird in diesen Versionen nicht mehr
+ mitgeliefert und MySQL ist daher auch nicht mehr automatisch
+ aktiviert. Zu den Hintergründen hierzu gibt es einen
+ <link linkend="faq.databases.mysql.php5">FAQ</link> Eintrag mit
+ näheren Informationen.
+ Benutzen Sie die <option role="configure">--with-mysql[=DIR]</option>
+ Konfiguration die MySQL Erweiterung zu aktivieren. Die Client
+ Bibliothek und die zugehörigen Header-Dateien können Sie von
+ der <link xlink:href="&url.mysql;">MySQL</link> Webseite herunterladen.
+ </para>
+ </section>
+ <section xml:id="mysql.installation.linux.mysqlnd">
+ <title>PHP 5.3.0+</title>
+ <para>
+ Ab PHP 5.3.0 nutzen alle MySQL-spezifischen Erweiterungen standardmäßig
+ den <link linkend="mysqlnd.overview">MySQL Native Driver</link>.
+ Dies bedeutet das die MySQL Client Bibliothek (<literal>libmysql</literal>)
+ nicht mehr benötigt wird um Verbindungnen mit einer MySQL Datenbank zu
+ ermöglichen. Die <literal>mysql</literal>, <literal>mysqli</literal> und
+ <literal>PHP_PDO_MYSQL</literal> Erweiterunge sind in PHP 5.3.0+ alle
+ automatisch aktiviert und nutzen den MySQL Native Driver. Es sind keine
+ weiteren Installationsschritte hierfür notwendig, abhängig von Ihren
+ Anforderungen möchten Sie allerdings evtl. einige der Voreinstellungen
+ in Ihrer &php.ini; anpassen.
+ </para>
+ </section>
+ </section>
+
+ <section xml:id="mysql.installation.windows">
+ <title>Installation auf Windows Systemen</title>
+ <section>
+ <title>PHP 4</title>
+ <para>
+ Die MySQL Erweiterung ist bereits in PHP einkompiliert.
+ </para>
+ </section>
+ <section>
+ <title>PHP 5.0.x, 5.1.x, 5.2.x</title>
+ <para>
+ MySQL ist nicht mehr automatisch aktiviert, Sie müssen die
+ <filename>php_mysql.dll</filename> DLL in Ihrer &php.ini; selbst
+ einbinden. PHP benötigt darüber hinaus Zugriff auf die MySQL
+ Client Bibliothek. Eine Datei mit Namen <filename>libmysql.dll</filename>
+ ist in der PHP Distribution für Windows enthalten, diese muss für Ihr
+ Windows System über <envar>PATH</envar> zu finden sein damit Sie aus
+ PHP heraus MySQL Datenbanken nutzen können.
+ Der FAQ-Eintrag "<link linkend="faq.installation.addtopath">Wie füge ich
+ unter Windows PATH mein PHP-Verzeichnis hinzu?</link>" bietet nähere
+ Informationen zu diesem Thema.
+ Sie können <filename>libmysql.dll</filename> zwar auch direkt in Ihr
+ Windows Systemverzeichnis kopieren (da dieses immer im <envar>PATH</envar>
+ Suchpfad enthalten ist), von diesem Vorgehen wird aber abgeraten.
+ </para>
+ <para>
+ Die PHP Direktive <link linkend="ini.extension-dir">extension_dir</link>
+ sollte, wie bei jeder anderen Erweiterung auch, auf das Verzeichnis
+ zeigen in dem die PHP Erweiterungen (wie <filename>php_mysql.dll</filename>)
+ zu finden sind. Sie hier auch <link linkend="install.windows.manual">Manuelle
+ Windows Installationsanweisungen</link>. Ein typischer Wert für ein PHP 5
+ extension_dir ist <literal>c:\php\ext</literal>
+ </para>
+ <note>
+ <para>
+ Erscheint beim Start des Webservers eine Fehlermelding in der Art von
+ <literal>"Unable to load dynamic library './php_mysql.dll'"</literal>
+ so liegt das daran das <filename>php_mysql.dll</filename> und/oder
+ <filename>libmysql.dll</filename> vom System nicht gefunden werden
+ konnten.
+ </para>
+ </note>
+ </section>
+ <section>
+ <title>PHP 5.3.0+</title>
+ <para>
+ Für MySQL 5.3.0 und spätere Versionen gelten
+ <link linkend="mysql.installation.linux.mysqlnd">diese Hinweise</link>
+ auch für Windows-Installationen
+ </para>
+ </section>
+ </section>
+
+ <section xml:id="mysql.installation.notes">
+ <title>MySQL Installationshinweise</title>
+ <warning>
+ <para>
+ 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
+ <link linkend="ref.recode">recode</link>.
+ </para>
+ </warning>
+ <note>
+ <para>
+ Wenn Sie andere Zeichensätze als den Standard <emphasis>latin</emphasis>
+ Zeichensatz verwenden sollen so müssen Sie zum Erstellen der Erweiterung
+ eine externe libmysql verwenden die mit voller Zeichensatzunterstützung
+ erstellt wurde. Die mit PHP 4 mitgelieferte libmysql bietet dies nicht.
+ </para>
+ </note>
+ </section>
+</section>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:1
+sgml-indent-data:t
+indent-tabs-mode:nil
+sgml-parent-document:nil
+sgml-default-dtd-file:"~/.phpdoc/manual.ced"
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+vim600: syn=xml fen fdm=syntax fdl=2 si
+vim: et tw=78 syn=sgml
+vi: ts=1 sw=1
+-->
Property changes on: phpdoc/de/trunk/reference/mysql/configure.xml
___________________________________________________________________
Added: svn:keywords
+ Id Rev Revision Date LastChangedDate LastChangedRevision Author LastChangedBy HeadURL URL
Added: svn:eol-style
+ native