mirror of
https://github.com/php/doc-de.git
synced 2026-03-23 23:02:13 +01:00
217 lines
9.5 KiB
XML
217 lines
9.5 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<!-- EN-Revision: 77f5f3b3a8bbe1ad7727201c7603d1419dd7840f 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>
|
|
<titleabbrev>Einführung</titleabbrev>
|
|
<title>Was ist PHP und was kann es?</title>
|
|
</info>
|
|
|
|
<section xml:id="intro-whatis" annotations="chunk:false">
|
|
<title>Was ist PHP?</title>
|
|
<para>
|
|
<acronym>PHP</acronym> (rekursives Akronym für <emphasis>PHP: Hypertext
|
|
Preprocessor</emphasis>) 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
|
|
<replaceable>irgendetwas</replaceable> tun (wie hier
|
|
<computeroutput>Hallo, ich bin ein PHP-Skript!</computeroutput> 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 in den <quote>PHP-Modus</quote> und zurück gewechselt werden 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. Ein Webserver kann auch so konfiguriert
|
|
werden, dass alle HTML-Dateien mit PHP verarbeitet werden, und dann gibt es
|
|
keine Möglichkeit mehr, zu erkennen, dass PHP verwendet wird.
|
|
</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. Mit PHP kann fast jeder sofort loslegen
|
|
und in kürzester Zeit einfache Skripte schreiben.
|
|
</para>
|
|
<para>
|
|
Auch wenn die Entwicklung von PHP auf serverseitige Programmierung
|
|
fokussiert ist, kann damit weitaus mehr gemacht werden. Lesen Sie weiter
|
|
und erfahren Sie mehr im Abschnitt
|
|
<link linkend="intro-whatcando">Was kann PHP?</link> oder gehen Sie direkt
|
|
zum <link linkend="tutorial">Einführungstutorial</link>, um direkt etwas
|
|
über Webprogrammierung zu lernen.
|
|
</para>
|
|
</section>
|
|
|
|
<section xml:id="intro-whatcando" annotations="chunk:false">
|
|
<info><title>Was kann PHP?</title></info>
|
|
<para>
|
|
Alles. PHP ist hauptsächlich auf serverseitige Skripte fokussiert, weshalb
|
|
es alles kann, 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 zwei Hauptgebiete, in denen PHP-Skripte genutzt werden.
|
|
<itemizedlist>
|
|
<listitem>
|
|
<simpara>
|
|
Serverseitige Programmierung. Dies ist das meistgenutzte und wichtigste
|
|
Einsatzgebiet von PHP. Damit das funktioniert, werden drei Dinge
|
|
benötigt: der PHP-Parser (CGI oder Server-Modul), ein Webserver und ein
|
|
Webbrowser. Alle diese Programme können auf einem lokalen Rechner
|
|
ausgeführt werden, um ein wenig mit der PHP-Programmierung zu
|
|
experimentieren. Weitere Informationen sind im Abschnitt über die
|
|
<link linkend="install">Installation</link> zu finden.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
Kommandozeilenprogrammierung. Ein PHP-Skript kann ohne Server oder
|
|
Browser ausgeführt werden, dazu wird nur der PHP-Parser benötigt. Diese
|
|
Art der Nutzung ist ideal für Programme, die regelmäßig mittels
|
|
<command>cron</command> (unter Unix oder macOS) 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 sind im Abschnitt
|
|
<link linkend="features.commandline">Nutzung von PHP auf der Kommandozeile</link>
|
|
zu finden.
|
|
</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, &zb; lighttpd und nginx. PHP kann entweder als Modul oder
|
|
als CGI-Prozessor eingesetzt werden.
|
|
</para>
|
|
<para>
|
|
So haben Entwickler die Freiheit, PHP auf dem Betriebssystem und dem
|
|
Webserver ihrer Wahl laufen zu lassen. Darüber hinaus kann je nach Vorliebe
|
|
prozedural oder objektorientiert (OOP) programmiert werden oder eine
|
|
Mischung aus beidem verwendet werden.
|
|
</para>
|
|
<para>
|
|
PHP ist 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.
|
|
Es kann 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 der 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. Es kann 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>
|
|
Diese Seite reicht nicht aus, um alle Möglichkeiten und Vorteile von PHP
|
|
aufzulisten. Lesen Sie weiter in den Abschnitten über die
|
|
<link linkend="install">Installation von PHP</link> und in der
|
|
<link linkend="funcref">Funktionsreferenz</link> sind Erklärungen zu den
|
|
hier erwähnten Erweiterungen zu finden.
|
|
</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
|
|
-->
|