-
Notifications
You must be signed in to change notification settings - Fork 40
/
intro.xml
229 lines (223 loc) · 10.4 KB
/
intro.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: ba36a88377878340feb08b36cdde88c26f34df6a Maintainer: xatenev Status: ready -->
<!-- Reviewed: yes -->
<!-- Rev-Revision: 2e8ef0a1bd98243cb2c6c5c627a195bb53a7a440 Reviewer: samesch -->
<chapter xml:id="introduction" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<info><title>Einführung</title></info>
<section xml:id="intro-whatis">
<title>Was ist PHP?</title>
<para>
<acronym>PHP</acronym> (rekursives Akronym für <literal>PHP: Hypertext
Preprocessor</literal>) 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.
</para>
<para>
Nett, aber was heißt das genau? Ein Beispiel:
</para>
<para>
<example>
<info><title>Ein einführendes Beispiel</title></info>
<programlisting role="php">
<![CDATA[
<!DOCTYPE html>
<html>
<head>
<title>Beispiel</title>
</head>
<body>
<?php
echo "Hallo, ich bin ein PHP-Skript!";
?>
</body>
</html>
]]>
</programlisting>
</example>
</para>
<para>
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
<link linkend="language.basic-syntax.phpmode">Anweisungen <code><?php</code> und <code>?></code> zum Starten und Beenden der Verarbeitung</link>,
mit denen man in den "PHP-Modus" und zurück wechseln kann.
</para>
<para>
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.
</para>
<para>
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.
</para>
<para>
Auch wenn die Entwicklung von PHP auf serverseitige Programmierung
fokussiert ist, können Sie mit PHP weitaus mehr anstellen. Lesen Sie mehr
im Abschnitt <link linkend="intro-whatcando">Was kann PHP?</link> oder
benutzen Sie direkt das
<link linkend="tutorial">Einführungstutorial</link>, wenn Sie nur an
Webprogrammierung interessiert sind.
</para>
</section>
<section xml:id="intro-whatcando">
<info><title>Was kann PHP?</title></info>
<para>
Alles. PHP ist hauptsächlich auf serverseitige Skripte fokussiert, weshalb
Sie alles tun können, was auch ein anderes CGI-Programm kann, &zb;
Formulardaten sammeln, dynamische Inhalte für Webseiten generieren oder
Cookies senden und empfangen. Aber PHP kann noch viel mehr.
</para>
<para>
Es gibt drei Hauptgebiete, in denen PHP-Skripte genutzt werden.
<itemizedlist>
<listitem>
<simpara>
Serverseitige Programmierung. Dies ist das traditionelle und wichtigste
Einsatzgebiet 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. Wenn Sie zunächst nur mit der
PHP-Programmierung experimentieren wollen, können Sie das alles auf
Ihrem heimischen Rechner ausführen. Weitere Informationen finden Sie
im Abschnitt <link linkend="install">Installation</link>.
</simpara>
</listitem>
<listitem>
<simpara>
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 mittels cron (auf *nix oder Linux) oder dem
Task Scheduler (unter Windows) ausgeführt werden. Die Skripte können
außerdem für einfache Aufgaben der Textverarbeitung verwendet werden.
Weitere Informationen dazu finden Sie im Abschnitt
<link linkend="features.commandline">Nutzung von PHP auf der Kommandozeile</link>.
</simpara>
</listitem>
<listitem>
<simpara>
Schreiben von Desktop-Anwendungen. 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 Anwendungen nutzen
möchten, können Sie PHP-GTK verwenden, um derartige Programme zu
schreiben. Auf diese Art haben Sie auch die Möglichkeit,
plattformübergreifende Anwendungen zu schreiben. PHP-GTK ist eine
Erweiterung von PHP, die in der Hauptdistribution nicht enthalten ist.
Sollten Sie daran interessiert sein, besuchen Sie die
<link xlink:href="&url.php.gtk;">PHP-GTK-Website</link>.
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
PHP kann auf allen gängigen Betriebssystemen
<link linkend="install">verwendet</link> werden, inkl. Linux, vielen
Unix-Varianten (inkl. HP-UX, Solaris und OpenBSD), Microsoft Windows,
macOS, RISC OS, und wahrscheinlich anderen. PHP unterstützt auch die
meisten der heute gebräuchlichen Webserver. Dies umfasst Apache, IIS und
viele andere. Dazu gehört auch jeder Webserver, der das PHP-Binary FastCGI
verwenden kann, z.B lighttpd und nginx. PHP kann entweder als Modul oder
als CGI-Prozessor eingesetzt werden.
</para>
<para>
So haben Sie die Freiheit, PHP auf dem Betriebssystem und dem Webserver
Ihrer Wahl laufen zu lassen. Darüber hinaus können Sie je nach Vorliebe
prozedural programmieren oder objektorientiert (OOP) oder eine Mischung
aus beidem verwenden.
</para>
<para>
Mit PHP sind Sie nicht auf die Ausgabe von HTML beschränkt. Seine
Fähigkeiten umfassen auch die Ausgabe komplexer Dateitypen wie Bilder oder
PDF-Dateien, die Verschlüsselung von Daten und der Versand von E-Mails.
Sie können auch problemlos jede Art von Text ausgeben, &zb; JSON oder XML.
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.
</para>
<para>
Vielleicht die größte und bemerkenswerteste Stärke von PHP ist seine
Unterstützung für eine
<link linkend="refs.database">große Auswahl von Datenbanken</link>. Eine
datenbankgestützte Website zu erstellen ist mithilfe einer der
Datenbankerweiterungen (&zb; für <link linkend="book.mysqli">MySQL</link>)
oder mit einer Abstraktionsschicht wie <link linkend="book.pdo">PDO</link>
unglaublich einfach. Oder man verbindet sich über die Erweiterung
<link linkend="book.uodbc">ODBC</link> mit irgendeiner Datenbank, die den
Open Database Connection Standard unterstützt. Andere Datenbanken können
<link linkend="book.curl">cURL</link> oder
<link linkend="book.sockets">sockets</link> verwenden (&zb; CouchDB).
</para>
<para>
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.
</para>
<para>
PHP verfügt über hilfreiche Funktionen für die
<link linkend="refs.basic.text">Textverarbeitung</link>, von den regulären
Ausdrücken (<link linkend="book.pcre">PCRE</link>) bis zum Parsen von
<link linkend="refs.xml">XML-Dokumenten</link>. PHP vereinheitlicht alle
XML-Erweiterungen auf der soliden Basis der
<link linkend="book.libxml">libxml2-Bibliothek</link> und erweitert den
Funktionsumfang durch die Unterstützung von
<link linkend="book.simplexml">SimpleXML</link>,
<link linkend="book.xmlreader">XMLReader</link> und
<link linkend="book.xmlwriter">XMLWriter</link>.
</para>
<para>
Es gibt noch viele andere interessante Erweiterungen, die sowohl
<link linkend="extensions">alphabetisch</link> als auch nach
<link linkend="funcref">Kategorien</link> geordnet sind. Darüber hinaus
gibt es auch noch
<link linkend="install.pecl.intro">PECL-Erweiterungen</link> die ggf. in
der PHP-Dokumentation selbst dokumentiert sind, &zb;
<link xlink:href="&url.xdebug;">XDebug</link>
</para>
<para>
Wie Sie sehen können, reicht diese Seite nicht aus, um alle Möglichkeiten
und Vorteile von PHP aufzulisten. Lesen Sie im Abschnitt
<link linkend="install">Installation</link> weiter und konsultieren Sie
auch die <link linkend="funcref">Funktionsreferenz</link> für weitere
Erläuterungen der einzelnen hier erwähnten Erweiterungen.
</para>
</section>
</chapter>
<!-- 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
-->