Re: [PHP-GTK-DOC] German translation for PHP-GTK 2

[email protected] ("Georgy Berdyshev")
Newsgroups php.gtk.doc
Message-ID <[email protected]>
Hello Steph,

Thanks in advance!

I'm attaching with this mail following files from cvs, translated into german:

installation.xml

hello_world.xml
helloadvanced.xml


Regards, Georgy
hello_world.xml (text/xml, 6.5 KB)
<?xml version="1.0" encoding="utf-8" ?>
<!-- $Revision: 1.7 $ -->
<chapter id="tutorials.helloworld">
 <title>Hallo Welt (Grundlage)</title>

  <simpara>
   Wenn Sie beginnen eine Programmiersprache zu erlernen, ist das erste
   Programme, das Sie oft schreiben ein 'Hallo Welt' Programm. Um uns 
   allen anderen anzupassen, wird die erste bung in diesem Handbuch ein
   'Hallo Welt' Programm sein!
  </simpara>
  <simpara>
   berall in den bungen setzten wir ein angemessenes Wissen von PHP vorraus. 
   Der Aufbau der bungen verleiht dem Leser sowohl das Wissen, wie man PHP-GTK 
   benutzt, als auch das Wissen und die Technik dahinter.
  </simpara>
  <simpara>
   In dieser bung erstellen wir ein einfaches Fenster, in dem der Text "Hallo Welt!"
   enthalten sein wird.
  </simpara>
  <simpara>
   Wir beginnen mit der Auflistung des Programms und erklren anschlieend jede 
   Zeile des Programms, und geben einen berblick zur Funktionsweise einer einfachen 
   PHP-GTK Anwendung.
  </simpara>


  <example>
   <title>Ein einfaches Hallo Welt Skript</title>
   <programlisting role="php">
    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 
     href="&directory.examples;/tutorials/helloworld/helloworld.phpw" parse="text">
     <xi:fallback>FIXME: MISSING XINCLUDE CONTENT</xi:fallback>
    </xi:include>
   </programlisting>
  </example>

  <para>
   Kopieren Sie nun den Quelltext in einen Texteditor und speichern sie ihn als 
   <filename>hello.phpw</filename>. Anschlieend ffnen Sie eine Konsole und straten
   das Skript durch <command>php hello.phpw</command>. Es erscheint ein Fenster mit
   dem Titel "Hello world", das nichts auer dem Text "Just wanted to say 'Hello world!'" 
   enthlt.
  </para>


  <example>
   <title>berprfe, ob PHP-GTK vorhanden ist</title>
   <programlisting role="php"><![CDATA[if (!class_exists('gtk')) {
    die("Please load the php-gtk2 module in your php.ini\r\n");
}]]></programlisting>
  </example>

  <para>
   Wir stellen sicher, dass PHP-GTK vorhanden ist, in dem wir berprfen, ob 
   die Klasse <literal>gtk</literal> existiert. Im Gegensatz zu PHP 4 und PHP-GTK 1,
   sollten Sie nicht versuchen das PHP-GTK Modul durch <ulink url="http://www.php.net/dl">dl()</ulink> 
   zu laden. Dies wurde in PHP 5 verworfen, und sollte nicht in neu geschriebenem Code 
   verwendet werden. Alles, was wir tun knnen ist die Ausgabe einer Nachricht, dass 
   das Modul nicht vorhanden ist und vom Benutzer aktiviert werden soll.
  </para>


  <example>
   <title>Ein fenster erstellen</title>
   <programlisting role="php"><![CDATA[$wnd = new GtkWindow();]]></programlisting>
  </example>

  <para>
   Das Erstellen eines neuen <link linkend="gtk.gtkwindow">window</link> Widget 
   ist genau so leicht, wie die Instanzierung eines neuen Objekts: der Variable 
   <literal>$wnd</literal> wird das neue Objekt zugewiesen. Falls Sie schon mit 
   PHP 4 und PHP-GTK 1 programmiert hatten, werden Sie das Kaufmnnischeund 
   <literal>&amp;</literal> vor <literal>new</literal> vermissen. Dies war in 
   PHP 4 erforderlich, darf aber nicht mehr in PHP 5 benutzt werden, weil Referenzen 
   automatisch erstellt werden.
  </para>


  <example>
   <title>Setzen des Fensternamens</title>
   <programlisting role="php"><![CDATA[$wnd->set_title('Hello world');]]></programlisting>
  </example>

  <simpara>
   Um die Identifizierung des Fensters leichter in der Fensterleiste zu ermglichen, 
   setzen wir einen Fensternamen:
   Ein ganz einfacher Aufruf einer Objekt Methode.
  </simpara>


  <example>
   <title>Ein sauberes Herunterfahren ermglichen</title>
   <programlisting role="php"><![CDATA[$wnd->connect_simple('destroy', array('gtk', 'main_quit'));]]></programlisting>
  </example>

  <para>
   Dies ist der wirklich erste Interesse Teil des Quelltexts: Der
   <signalname class="GtkObject">destroy</signalname> Signal wird 
   an die statische <link linkend="gtk.method.main_quit">Gtk::main_quit</link> 
   Methode verbunden. Es sagt einfach zu GTK, dass es die main Schleife 
   verlassen soll, wenn das Fenster geschlossen/zerstrt wird.
   (Die Main Schleife wird in eingen Abschnitten weiter unten erklrt.)
  </para>


  <example>
   <title>Ein Label zur Darstellung des Texts erstellen</title>
   <programlisting role="php"><![CDATA[$lblHello = new GtkLabel("Just wanted to say\r\n'Hello world!'");]]></programlisting>
  </example>

  <para>
   Wie auch zuvor, erstellen wir ein neues Widget. Diesmal wollen wir einen 
   kleinen Text darstellen, und <classname>GtkLabel</classname> erweist sich 
   als perfekt fr diese Aufgabe.
  </para>


  <example>
   <title>Den Label zum Fenster hinzufgen</title>
   <programlisting role="php"><![CDATA[$wnd->add($lblHello);]]></programlisting>
  </example>

  <simpara>
   Jetzt sagen wir dem Fenster, dass der Label direkt hinzugefgt werden soll.
  </simpara>


  <example>
   <title>Das Fenster sichtbar machen</title>
   <programlisting role="php"><![CDATA[$wnd->show_all();]]></programlisting>
  </example>

  <para>
   Bis jetzt, werden Sie nichts auf Ihrem Bildschirm sehen. Um das Fenster 
   sichtbar zu machen, mssen Sie die <function class="GtkWidget">show</function> 
   Funktion aufrufen. Das macht das Fenster sichbar, aber nicht das Label - wir mssten 
   auch die <function class="GtkWidget">show</function> Funktion fr das 
   Label aufrufen. Das ist sehr ungnstig, wenn Sie mehrere Widgets, zum 
   Beispiel Knpfe, Checkboxen und andere im Fenster haben: 
   <function class="GtkWidget">show_all</function> bernimmt das Sichtbarmachen 
   des Fensters und aller Kind Widgets.
  </para>


  <example>
   <title>Starten der main Schleife</title>
   <programlisting role="php"><![CDATA[Gtk::main();]]></programlisting>
  </example>

  <para>
   Nachdem alles eingestellt wurden, mssen wir sicherstellen, dass das 
   Fenster offen bleibt und auf alle Benutzerinteraktionen reagiert. 
   Ein normales PHP Skript wrde zu Ende sein und an dieser Stelle stoppen, 
   aber wir wollen es laufen lassen: Dazu muss die main Schleife gestartet 
   werden. Sie sorgt dafr, dass die Applikation ausgefhrt wird und auf 
   Benutzerereignisse wartet. Wenn Ereignisse auftreten, leitet es sie 
   an die entsprechenden Callbacks.
  </para>


 <sect1 id="tutorials.helloworld.futherreading">
	<title>Literaturhinweise</title>
  <para>
   Nachdem Sie nun Ihre erste PHP-GTK 2 Applikation erstellt haben, wollen 
   Sie vielleicht ein komplexeres Layout erstellen. Um das Grundlegende 
   zu lernen, schauen Sie sich die <link linkend="tutorials.packing">Packing 
   bung</link> an.
  </para>
 </sect1>

</chapter>
helloadvanced.xml (text/xml, 8.1 KB)
<chapter id="tutorials.helloadvanced">
<!-- $Revision: 1.4 $ -->
 <title>Hallo Welt (Fortgeschrittene)</title>

 <simpara>
  Diese bung behandelt einige mehr fortgeschrittene 
  Funktionalitten, als die erste Hallo Welt bung. 
  Hier erstellen wir ein Login Fenster, in dem der 
  Benutzer seinen Benutzernamen und sein Passwort 
  eingeben kann. Wenn der Benutzer den Login Knopf 
  drckt, werden die Textfelder berprft, und eine 
  Fehlermeldung wird angezeigt wenn der Benutzer 
  seinen Namen oder sein Passwort vergessen hat.
 </simpara>

 <para>
  Hier ist ein Fensterabbild, wie das Programm aussieht, wenn 
  es fertig ist:
  <graphic fileref="&directory.images;/tutorials/helloadvanced.png"/>
 </para>

 <para>
  Zuerst erstellen wir ein Fenster, setzen den Fensternamen und sagen 
  der main Schleife, dass sie das beendet werden soll, wenn das Fenster 
  zerstrt wird - Sie wissen das bereits aus der ersten bung:
  <informalexample>
   <programlisting role="php"><![CDATA[
$wnd = new GtkWindow();
$wnd->set_title('Login');
$wnd->connect_simple('destroy', array('gtk', 'main_quit'));
]]></programlisting>
  </informalexample>
 </para>

 <para>
  Die nchste Aufgabe ist das Erstellen aller Widgets, die wir 
  fr diesen Dialog brauchen werden: Zuerst, zwei Texteingabe 
  Felder fr den Benutzernamen und das Passwort:
  <informalexample>
   <programlisting role="php"><![CDATA[
$txtUsername = new GtkEntry();
$txtPassword = new GtkEntry();
]]></programlisting>
  </informalexample>
  Anschlieend wollen wir den Benutzer wissen lassen, welches 
  Textfeld fr das Passwort und den Benutzernamen ist, deshalb 
  brauchen wir einige aussagekrftige Labels:
  <informalexample>
   <programlisting role="php"><![CDATA[
//The second parameter says that the underscore should be parsed as underline
$lblUsername = new GtkLabel('_Username', true);
$lblPassword = new GtkLabel('_Password', true);
]]></programlisting>
  </informalexample>
  Und zuletzt brauchen wir zwei Knpfe: Einen fr Login, und einen 
  um den Vorgang abzubrechen:
  <informalexample>
   <programlisting role="php"><![CDATA[
$btnLogin    = new GtkButton('_Login');
$btnCancel   = new GtkButton('_Cancel');
]]></programlisting>
  </informalexample>
  Sie haben vielleicht gemerkt, dass der <classname>GtkLabel</classname> 
  Konstruktor einen zweiten Parameter bergeben bekommt, um zu sagen, 
  dass der Unterstrich <literal>_</literal> als Unterlinie des nchsten 
  Zeichens gezeigt werden soll, aber das wird nicht im <classname>GtkButton</classname> 
  Konstruktor erledigt: Der Button Konstruktor macht dies automatisch, 
  whrend der Label Konstruktor dies nicht tut. Dieses Verhalten 
  mag Ihnen seltsam erscheinen, aber es ist viel mehr, dass Sie 
  sich den Mnemonic Label eines Buttons als einen normalen Label merken.
 </para>

 <para>
  Nun mssen die Labels wissen, was fr ein Widget aktiviert 
  werden muss, wenn sie ber den Mnemonic aktiviert werden. 
  Dies wird auf folgende Weise gemacht:
  <informalexample>
   <programlisting role="php"><![CDATA[
$lblUsername->set_mnemonic_widget($txtUsername);
$lblPassword->set_mnemonic_widget($txtPassword);
]]></programlisting>
  </informalexample>
  Desweiteren, mssen wir herausfinden welche Aktion ausgefhrt wird, 
  wenn die Knpfe gedrckt werden. Der Abbrechen Knopf soll das 
  Fenster zerstren (somit die Applikation beenden) und der Login 
  Knopf soll die Textfelder auf Korrektheit berprfen und weitere 
  Aktionen ausfhren:
  <informalexample>
   <programlisting role="php"><![CDATA[
$btnCancel->connect_simple('clicked', array($wnd, 'destroy'));
$btnLogin ->connect_simple('clicked', 'login', $wnd, $txtUsername, $txtPassword);
]]></programlisting>
  </informalexample>
  Wir bergeben die drei Widgets <varname>$wnd</varname>, 
  <varname>$txtUsername</varname> und <varname>$txtPassword</varname>
  als zustzliche Parameter an die (noch zu definierende) 
  <literal>login</literal> Funktion, weil wir sie dort brauchen werden:
  Um die Werte der Textfelder zu bekommen, und um das Fenster wenn alles 
  in Ordnung ist zu zerstren/verbergen.
 </para>

 <para>
  Da wir jetzt alle Widgets, die wir brauchen haben, werden sie dem 
  Fenster hinzugefgt. Da <classname>GtkWindow</classname> ein 
  binrer Container ist, kann es nur ein einzelnes Widget beihalten. 
  Deshalb brauchen wir einen Container, der mehrere Widgets beinhalten 
  kann und auch unsere Elemente schn anordnen kann.
  Die Entscheidung fllt auf <classname>GtkTable</classname>, weil es 
  uns ermglicht die Labels in einer Spalte zubeinhalten, und die 
  Eingabefelder in der nchsten Spalte:
  <informalexample>
   <programlisting role="php"><![CDATA[
$tbl = new GtkTable(3, 2);
$tbl->attach($lblCredit, 0, 2, 0, 1);
$tbl->attach($lblUsername, 0, 1, 1, 2);
$tbl->attach($txtUsername, 1, 2, 1, 2);
$tbl->attach($lblPassword, 0, 1, 2, 3);
$tbl->attach($txtPassword, 1, 2, 2, 3);
]]></programlisting>
  </informalexample>
  (Die <varname>$lblCredit</varname> Variable ist einfach ein Label mit 
  einer Nachricht). Die Buttons erhalten ihre eigene <classname>GtkHButtonBox</classname>, 
  weil diese Klasse es einem erlaubt mehrere Knpfe sehr schn anzuordnen:
  <informalexample>
   <programlisting role="php"><![CDATA[
$bbox = new GtkHButtonBox();
$bbox->set_layout(Gtk::BUTTONBOX_EDGE);
$bbox->add($btnCancel);
$bbox->add($btnLogin);
]]></programlisting>
  </informalexample>
 </para>

 <para>
  Das Letzte am Layout ist das Hinzufgen der Tabelle und der Box 
  fr die Knpfe zum Fenster. Dies ist nicht direkt mglich, weil 
  <classname>GtkWindow</classname> ein <classname>GtkBin</classname>
  ist und nur ein Widget beinhalten kann. Deshalb brauchen wir einen 
  anderen Container, diesmal eine <classname>GtkVBox</classname>:
  <informalexample>
   <programlisting role="php"><![CDATA[
$vbox = new GtkVBox();
$vbox->pack_start($tbl);
$vbox->pack_start($bbox);
]]></programlisting>
  </informalexample>
  Das war es, nun knnen wir das Fenster anzeigen:
  <informalexample>
   <programlisting role="php"><![CDATA[
$wnd->add($vbox);
$wnd->show_all();
Gtk::main();
]]></programlisting>
  </informalexample>
 </para>

 <para>
  Das Letze, was noch vermisst wird, ist die <literal>login</literal> 
  Funktion, die aufgerufen wird, wenn the Benutzer den Login Knopf 
  drckt. Sie soll die Werte des Benutzername- und Passwortfeldes 
  berprfen: Wenn Ihre Lnge 0 ist (der Benutzer hat nichts eingegeben), 
  wird eine Fehlermeldung angezeigt. Wenn alles in Ordnung ist, wird 
  das Fenster zerstrt und das Programm knnte mit dem Laden des 
  Hauptfensters fortfahren.
 </para>

 <para>
  Das Erhalten des Textes aus den Widgets ist sehr einfach, wir 
  benutzten nur die <function class="GtkEntry">get_text</function> 
  Methode von <classname>GtkEntry</classname>:
  <informalexample>
   <programlisting role="php"><![CDATA[
$strUsername = $txtUsername->get_text();
$strPassword = $txtPassword->get_text();
]]></programlisting>
  </informalexample>
  Die berprufng luft ber die normale php <literal>strlen</literal> 
  Funktion. Falls ein Fehler auftrat, wollen wir eine kleine Messagebox 
  mit einer kurzen Nachricht anzeigen.
  <classname>GtkMessageDialog</classname> ist eignet sich hervorragend 
  dazu, da es automatisch die Symbole und Knpfe erstellt (Ok, Yes/No):
  <informalexample>
   <programlisting role="php"><![CDATA[
$dialog = new GtkMessageDialog($wnd, Gtk::DIALOG_MODAL, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, $errors);
$dialog->set_markup("The following errors occured:\r\n<span foreground='red'>" . $errors . "</span>");
$dialog->run();
$dialog->destroy();
]]></programlisting>
  </informalexample>
 </para>

 <para>
  Zuletzt stellen Sie sicher, dass Sie die login Funktion vor(!) der main Schleife 
  einfgen und fhren Sie es aus.
 </para>

 <example>
  <title>Das ganze Programm</title>
  <programlisting role="php">
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
               href="&directory.examples;/tutorials/helloadvanced/helloadvanced.phpw"
               parse="text">
    <xi:fallback>FIXME: MISSING XINCLUDE CONTENT</xi:fallback>
   </xi:include>
  </programlisting>
 </example>

</chapter>
installation.xml (text/xml, 11.9 KB)
<?xml version="1.0" encoding="utf-8" ?>
<!-- $Revision: 1.9 $ -->
<chapter id="tutorials.installation">
 <title>Installation von PHP-GTK 2</title>

  <sect1 id="tutorials.installation.introduction">
   <title>Einleitung</title>
   <para>
    PHP-GTK 2 is eine Erweiterung zu PHP und kann nur mit Version 5.1 oder 
    hher benutzt werden. Obwohl der hufigste Weg PHP-GTK2 zu installieren 
    das Kompilieren ist, kann sich dieser Vorgang als sehr langwierig auf 
    Windows zeigen; in diesem Falle werden die meisten Leute das offizielle 
    PHP-GTK 2 Binrpaket oder den Gnope Installer benutzen.
   </para>
   <para>
    Wir werden den Installationprozess auf den drei meist bekannten 
    Betriebssystemen: Windows, Linux und Mac OS X abdecken. Die Anweisungen 
    fr Linux sind auf den meisten Distributionen im Zusatz zu anderen 
    POSIX komatiblen Systemen anwendbar.
   </para>
  </sect1>

  <sect1 id="tutorials.installation.windows">
   <title>Installation unter Windows</title>

   <sect2 id="tutorials.installation.windows.gnope">
    <title>Benutzung von Gnope</title>
    <para>
     Gnope hat sich als die einfachste Art PHP-GTK 2 unter Windows zu 
     installieren und unterhalten bewhrt. Gnope is ein voll ausgestatteter 
     PHP-GTK 2 Installer, komplett mit PHP 5.1, GTK 2.6 und PEAR.
     Einige einfache Mausklicks und Sie sind fertig!
    </para>
    <para>
     Laden Sie einfach den Installer von <ulink url="&url.gnope;">gnope.org</ulink> 
     herunter und folgen Sie den Bildschirmanweisungen. Gnope hat auch einen 
     eigenen PEARartigen Kanal, wo Sie PHP-GTK 2 Anwendungen, zustzlich zu 
     offiziellen PEAR Paketen, z.B. aus der <ulink url="&url.pear.gtk2;">Gtk2 Kategorie</ulink> 
     herunterladen knnen.
    </para>
   </sect2>

   <sect2 id="tutorials.installation.windows.manual">
    <title>Manuelle Installation</title>
    <para>
     Ladenen Sie das Alpha Binrpaket von PHP-GTK 2 fr Windows von der 
     PHP-GTK 2 <ulink url="&url.phpgtk.download;">Download</ulink> Seite. 
     Extrahieren Sie die Dateien in ein Verzeichnis Ihrer Wahl. Ein 
     Verzeichnis <literal>php-gtk</literal> wird erstellt und beinhaltet 
     den Paketinhalt.
    </para>
    <para>
     Sie bentigen eine Kopie von <filename>php.exe</filename> (CLI Version) und
     <filename>php5ts.dll</filename>, beide sind im Binrpaket von PHP 5 fr 
     Windows enthalten, und legen Sie diese in das <filename>php-gtk</filename> 
     Verzeichnis ab. Falls sie es bevorzugen weitere Erweiterungen mit dieser 
     Kopie von <filename>php.exe</filename> zu benutzen, stellen Sie sicher, dass 
     Sie deren Binrdateien auch in diesem Verzeichnis ablegen.
    </para>
    <para>
     <!-- FIXME: Do we need to do this? I doubt that this is necessary
        -cweiske -->
     Danach mssen Sie Ihre <literal>PATH</literal> Umgebung setzen, um 
     das <filename>gtk+2.6.9</filename> Verzeichnis fr dieses Paket zugnglich 
     zu machen. Sie knnen auch die <literal>gtkpath.bat</literal> Batch Datei 
     fr Sie die passende <literal>PATH</literal> Variable fr die derzeitige 
     Kommandozeilen Sitzung setzen lassen, indem Sie diese ausfhren. 
    </para>
   </sect2>

   <sect2 id="tutorials.installation.windows.cvs">
    <title>Kompilierung vom CVS</title>
    <para>
     Dies ist die letzte zur Erwgung zu ziehende Methode PHP-GTK 2 unter 
     Windows zu installieren. Falls Sie immer noch dieses Vorhaben 
     durchsetzen wollen, bitte lesen Sie <filename>win32/README.win32.txt</filename> 
     im CVS Checkout.
    </para>
   </sect2>
  </sect1>

  <sect1 id="tutorials.installation.linux">
   <title>Installation unter Linux</title>

   <para>
    Die beste Weg PHP-GTK 2 unter Linux zu installieren, ist es zu kompilieren.
    Bisher sind keine Binrpakete oder Binrpakete fr irgendwelche Distributionen 
    verfgbar, deshalb knnen Sie nicht Ihren Lieblingspaketmanager benutzen, um 
    PHP-GTK 2 zu installieren! Diese Anweisungen sollten fr die meisten Linux 
    Distributionen stimmen, sowohl fr andere POSIX genormte Systeme.
   </para>

   <note>Die hier aufgelisteten Vorgehensweisen funktionieren nach Erfahrungsberichten 
	   nicht unter FreeBSD</note>

   <para>
    Es gibt zwei Mglichkeiten PHP-GTK 2 unter Linux Systemen zu installieren.
    Sie knnen entweder es sich aussuchen, die bereits auf Ihrem Linux System
    vorhandene PHP Installation zu benutzen, oder sich entscheiden eine seperate 
    PHP Installation zu erstellen und diese PHP-GTK 2 zu widmen. Die letztere ist 
    die einfacherere Methode und wird Benutzern empfohlen, die wenig oder gar keine 
    Linux Kenntnisse haben. In jedem Fall, brauchen Sie eine installierete Gtk+ 
    Version 2.6 oder hher.
   </para>

   <sect2 id="tutorials.installation.linux.newphp">
    <title>Installation von PHP-GTK 2 zusammen mit einer neuen PHP Installation</title>

    <para>
     Folgen Sie einfach den Schritten, und alles sollte funktionieren! Das erste was 
     Sie brauchen ist ein frischer Checkout von PHP. Sie knnen entweder die 
     <literal>5_1</literal> oder <literal>5_2</literal> Branch verwenden, mit beiden 
     funktioniert es gut:

     <programlisting role="bash"><![CDATA[
$ cvs -d :pserver:[email protected]:/repository login
$ cvs -d :pserver:[email protected]:/repository co -r PHP_5_2 php-src]]></programlisting>

     Jetzt, mssen sie sie kompilieren und installieren:

     <programlisting role="bash"><![CDATA[
$ cd php-src
$ ./buildconf
$ ./configure --prefix=/opt/php5_2 --disable-cgi
$ make
$ su
$ make install
$ echo extension=php_gtk2.so >> /opt/php5_2/lib/php.ini
$ /opt/php5_2/bin/php-config --extension-dir | xargs echo 'extension_dir=' >> /opt/php5_2/lib/php.ini]]></programlisting>
    </para>

    <note>
     <para>
      Falls der aktuelle CVS Inhalt von PHP nicht kompiliert, 
      verwenden Sie ein offizielles Paket von der 
      <ulink url="&url.php.download;">php Download Seite</ulink>,
      oder einen <ulink url="&url.php.snapshots;">Schnappschuss</ulink>.
     </para>
    </note>

    <para>
     Lassen Sie uns jetzt PHP-GTK 2 auschecken und installieren:

      <programlisting role="bash"><![CDATA[
$ cd ..
$ cvs -d :pserver:[email protected]:/repository co php-gtk
$ cd php-gtk
$ ./buildconf --with-phpize=/opt/php5_2/bin/phpize
$ ./configure --with-php-config=/opt/php5_2/bin/php-config
$ make
$ make install]]></programlisting>
    </para>

    <para>
     Sie mchten vielleicht einen Link zu neuen php Programmdatei erstellen:

      <programlisting role="bash"><![CDATA[
$ ln -s /opt/php5_2/bin/php /usr/bin/php-gtk]]></programlisting>

     Das ist alles, Sie sind fertig!
    </para>
   </sect2>

   <sect2 id="tutorials.installation.linux.existingphp">
    <title>Eine vorhandene PHP Installation verwenden</title>

    <para>
     Falls Sie sich dazu entschlieen PHP-GTK 2 zu Ihrer vorhanden PHP 
     Installation "hinzu zufgen", stellen sie sicher dass Ihrere PHP 
     Version mindestens 5.1 ist, mit aktiviertem CLI.
     PHP-GTK 2 wird NICHT mit irgendeiner anderen Version von PHP funktionieren.
     Sie knnen Ihre PHP Version prfen, indem Sie <command>php -v</command> 
     in der Kommandozeile eintippen. Vergessen Sie nicht zu prfen, dass das 
     Wort <literal>cli</literal> in der Ausgabe erscheint!
    </para>

    <para>
     Holen Sie nun die aktuellen CVS Quelltext von PHP-GTK 2, oder laden Sie 
     den Alpha Quelltext Tarball herunter, wie aufer PHP-GTK 2 
     <ulink url="&url.phpgtk.download;">Download</ulink> Seite erlutert wird.
     <literal>cd</literal> in das geholte / extrahierte Verzeichnis, und
     fhren Sie folgendes aus:
     <programlisting role="bash"><![CDATA[
$ ./buildconf
$ ./configure
$ make
$ make install]]></programlisting>
    </para>

    <para>
     Dies msste bei den meisten Leuten funktionieren. Wie auch immer, 
     falls mehrere Installationen von PHP auf Ihrem System oder Sie 
     PHP an irgendeinem exotischen Ort installiert haben, knnten Sie 
     einigen Problemen begegnen. Die meisten dieser Flle knnen gelst 
     werden, indem man den exakten Aufenthaltsort der <literal>phpize</literal> 
     under <literal>php-config</literal> Programmdateien angibt:
     <programlisting role="bash"><![CDATA[
$ ./buildconf --with-phpize=/path/to/phpize
$ ./configure --with-php-config=/path/to/php-config]]></programlisting>
    </para>
   </sect2>

   <sect2 id="tutorials.installation.linux.testing">
    <title>Testen der Installation</title>

    <para>
     Bevor Sie PHP-GTK 2 verwenden knnen, mssen Sie die Erweiterung 
     in Ihrer php.ini aktivieren. Fgen Sie einfach ein
     <programlisting role="ini"><![CDATA[
extension=php_gtk2.so]]></programlisting>
     unter allen anderen <literal>extension=</literal> Einstellungen hinzu.
    </para>

    <para>	    
     Sie knnen testen, ob Ihre Installation erfolgreich war, indem 
     Sie folgendes ausfhren:

     <programlisting role="bash"><![CDATA[
$ php -m | grep php-gtk]]></programlisting>

     Sie sollte eine einzelne Zeilen erhalten, in der <literal>php-gtk</literal> steht.
    </para>

    <para>
     Als nchsten knnen Sie die Demo Anwendungen im <filename>demos</filename> 
     Verzeichnis der php-gtk Quelltexte ausprobieren, z.B. 
     <filename>demos/phpgtk2-demo.php</filename>.
    </para>
   </sect2>
  </sect1>

  <sect1 id="tutorials.installation.macosx">
   <title>Installation unter Mac OS X</title>

    <para>
     Sie mssen sicherstellen, dass Sie die Apple Developer Tools, das BSD Subsystem,
     und eine Installation von X haben, bevor Sie versuchen PHP-GTK 2 zu 
     installieren. Obwohl das BSD Subsystem standardmig unter Mac OX X 
     installiert ist, mssen Sie manuell die Developer Tools und den X Server 
     auswhlen. Obwohl Sie irgendeinen X Server verwenden knnen, ist es am 
     einfachsten den zu benutzen, der von Apple standardmig zur Verfgung im 
     Mac OS X Installer bereitgestellt wird.
   </para>

    <para>
     Holen Sie die <ulink url="&url.macports;">MacPorts</ulink> (frher bekannt als 
     DarwinPorts) oder <ulink url="&url.fink;">Fink</ulink> und installieren 
     Sie es. Sie knnen entweder es dazu benutzen eine Version von X (wenn Sie sich 
     gegen Apple's standardmige Distribution entschlossen haben), und um Gtk+ 
     selbst zu installieren. Sowohl Fink als auch MacPorts stellen Version 2.6 und 
     hher von Gtk+ zur Verfgung.
    </para>

    <para>
     Nachdem Sie alles von oben an einem Ort haben, holen Sie die 5_2 Branch von 
     PHP, kompilieren und installieren Sie diese. Obwohl Sie sie berall hin 
     installieren drfen, gilt <literal>/usr/local</literal> im Ganzen als eine 
     gute Wahl.

     <programlisting role="bash"><![CDATA[
$ cvs -d :pserver:[email protected]:/repository co -r PHP_5_2 php-src
$ cd php-src
$ ./buildconf
$ ./configure --disable-cgi
$ make
$ sudo make install]]></programlisting>
    </para>

    <para>
     Nun holen Sie den aktuellen PHP-GTK Code und kompilieren Sie diesen:

     <programlisting role="bash"><![CDATA[
$ cd..
$ cvs -d :pserver:[email protected]:/repository co php-gtk
$ cd php-gtk
$ ./buildconf --with-phpize=/usr/local/bin/phpize
$ ./configure --with-php-config=/usr/local/bin/php-config \
            --disable-libglade
$ make
$ sudo make install]]></programlisting>
    </para>

    <para>
     Zum Schluss, kopieren Sie die <literal>php.ini-recommended</literal> Datei 
     nach <literal>/usr/local/lib/php.ini</literal> und ndern Sie den Wert von 
     <literal>extension_dir</literal> in das Verzeichnis, das 
     <literal>php_gtk2.so</literal> enthlt. Dies ist normalerweise sowas wie:
     <literal>/usr/local/lib/php/extensions/no-debug-non-zts-some-date</literal>.
     Sie mgen vielleicht einen neuen symbloischen Link in <literal>/usr/bin</literal>
     erstellen, der auf <literal>/usr/local/bin/php</literal> zeigt.
    </para>

    <para>
     Nun fahren Sie weiter fort mit:
     <link linkend="tutorials.installation.linux.testing">Testen der Installation</link>.
    </para>
   </sect1>

</chapter>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.