PHP lernen – Einführung und Vorbereitung

Hi,

du willst PHP lernen und dynamische Webseiten und -Anwendungen programmieren? Dann Willkommen zu meiner großen Artikelserie, in der ich dir Schritt für Schritt beibringe, PHP zu programmieren. Du brauchst keine programmiertechnischen Vorkenntnisse.

Bevor wir anfangen sollten wir noch zwei Dinge klären: das was ich von dir erwarte und das was ich dir biete.

Was du brauchst

Du solltest ein gutes Grundverständnis für logische Zusammenhänge haben, um mit der Programmierung zu starten. Auf deinem Weg des Lernprozesses lernst du neben Code und technischem Verständnis auch neue Wege und Perspektiven kennen, um an Probleme heranzugehen und sie zu lösen. Du brauchst auf jeden Fall ein bisschen Durchhaltevermögen – wenn du schnell feststellst dass Programmieren dein Ding ist, wirst du damit eh keine Probleme haben. Du wirst viele Fehler machen, vor allem am Anfang – das sollte dich aber nicht stören, denn nur durch Fehler wird man besser, und nirgends trifft das mehr zu als auf Programmierung. Gibt auch niemanden der keine Fehler gemacht hat.

Was du von mir bekommst

Ich biete dir eine Einführung in die Programmierung mit PHP ohne jegliches Vorwissen (naja gut, HTML Grundkenntnisse wären nicht schlecht, aber egal). Wir beginnen mit einfachen aber sehr essentiellen Themen und arbeiten uns dann immer weiter vor. Ganz ohne Hektik, ein Schritt nach dem anderen. Innerhalb kürzester Zeit (wir reden hier nur von Stunden) wirst du in der Lage sein, einfache Zusammenhänge und Funktionsweisen zu verstehen und selbständig kleine Skripte zu schreiben. Bleib am Ball und dann wird das auch was 🙂

Der Lernprozess – bin ich hier gut aufgehoben?

Berechtigte Frage. Natürlich gibt es immer mehrere Wege etwas zu lernen, mit dieser Tutorial-Serie zeige ich dir einen (meinen) Weg zu dem Ziel, ein PHP-Programmierer zu werden. Vielleicht ist das auch genau der richtige Weg für dich – wär ja super. Keine Frage, natürlich weiß ich auch nicht alles, aber wer kann das schon von sich behaupten? Niemand. Was ich aber mit Sicherheit weiß ist, dass ich in nichts auf der Welt besser bin als im Programmieren mit PHP – ich verdiene damit mein Geld, ganz verkehrt bin ich also schon mal nicht. Mir ist wichtig dass du dich mit meiner Art zu schreiben wohl fühlst und dass es dir Spaß macht. Wenn das gegeben ist, kann nicht mehr viel schief gehen.

Eins noch

Wenn du irgendwo Wörter oder Begriffe siehst, die du nicht kennst, ist das kein Grund ins Schwitzen zu kommen – es werden mit Sicherheit alle Fragen beantwortet werden. Und falls doch noch irgendwo ein Fragezeichen über deinem Kopf hängt, steht das Kommentarfeld zu deiner freien Verfügung.

Und lass dich bitte ermutigen: der heutige erste Teil der Tutorial-Reihe besteht stellenweise aus „trockener“ Theorie – nimm diese ganzen Infos trotzdem einfach mal mit, da sie für spätere Vorhaben bereits einige Fragen aus dem Weg räumen und du dein Gehirn vorab schon mit Antworten fütterst, zu denen im späteren Verlauf sowieso Fragen aufkommen. Mit Code geht es erst im nächsten Artikel los.

Jetzt fangen wir aber wirklich an. Gerne kannst du dir jetzt noch schnell ’nen Kaffe holen und dir eine anzünden – und dann legen wir los. Also dann …

Einführung

Was ist PHP?

PHP steht für „PHP: Hypertext Preprocessor“ und ist eine Skriptsprache, deren Syntax an C und PERL angelehnt ist. Warte, nicht weglaufen – ich weiß dass du damit vielleicht nichts anfangen kannst und keinen blassen Schimmer hast was das bedeutet, aber das macht auch nix, trotzdem sollte man wenigstens wissen, was die drei Buchstaben „PHP“ bedeuten.

Wikipedia beschreibt PHP so:

PHP (rekursives Akronym und Backronym für „PHP: Hypertext Preprocessor“, ursprünglich „Personal Home Page Tools“) ist eine Skriptsprache mit einer an C und Perl angelehnten Syntax, die hauptsächlich zur Erstellung dynamischer Webseiten oder Webanwendungen verwendet wird.[2] PHP wird als freie Software unter der PHP-Lizenz verbreitet. PHP zeichnet sich durch breite Datenbankunterstützung[3] und Internet-Protokolleinbindung sowie die Verfügbarkeit zahlreicher Funktionsbibliotheken[4] aus.

Einer der Vorteile für dich ist, dass PHP wirklich einfach zu lernen ist. Innerhalb weniger Stunden wirst du in der Lage sein, schon einfache Skripte oder gar kleine Programme zu schreiben.

PHP wird dazu genutzt, Webanwendungen und Websites zu programmieren, also das Zeug was man im Browser macht. Und es ist wurscht welche Seite im Internet du öffnest, auch hier ist zu ~80% PHP im Spiel (zu ~10% mit ASP.NET und der Rest ist vom prozentualen Marktanteil her kaum noch nennenswert).

Vermutlich interessierst du dich also für PHP und möchtest lernen, was genau es ist und wie es funktioniert. Vielleicht hast du auch schon Ahnung von HTML und willst dein Wissen erweitern, um endlich Dynamik in deine Webanwendungen zu bringen. So oder so, lass mich dir zuallererst zeigen, wofür PHP da ist und was man damit machen kann.

Was kann PHP?

  • Mit PHP bringst du Programmlogik in deine Webanwendung – es werden Aktionen ausgeführt aufgrund von Entscheidungen (WENN … DANN … ANSONSTEN …), Aktionen können wiederholt ausgeführt werden (Schleifen)
  • Du kannst HTML-Formulareingaben ( <form method="POST" action="ziel.php">...</form> ) empfangen und auswerten.
  • Du kannst Zeichenkettenfunktionen (Suchen / Ersetzen) nutzen, Datumsformatierungen verwenden, Zufallszahlen generieren, Mails versenden, PDFs erstellen und von Unmengen an frei verfügbaren Programmbibliotheken und Erweiterungen profitieren – naja und vieles mehr. Eigentlich alles was du dir nur vorstellen kannst.
  • PHP ist recht einfach zu lernen
  • PHP ist sehr gut dokumentiert, jede Funktion lässt sich schnell und unkompliziert auf php.net nachschlagen – das ist keine Randnotiz, diese Seite wird dein ständiger Begleiter auf dem Weg zum PHP-Profi sein
  • PHP läuft auf allen Plattformen (Windows, Linux, Mac)
  • PHP ist kostenlos – *yay*
  • PHP ist die meistgenutzte Sprache zur Erstellung von Webseiten – das heißt es gibt einen riesen Haufen Leute, die PHP kennen und nutzen, demzufolge auch eine Menge an Portalen und Foren und was viel wichtiger ist: viele Ressourcen für dich, falls es irgendwelche Probleme gibt – irgendjemand hatte genau dein Problem mit Sicherheit auch schonmal.
  • PHP wird serverseitig ausgeführt, das heißt auf einem entfernten Rechner (Stichwort Webserver, wie gesagt dazu später mehr) und im Regelfall dazu genutzt, um die Logik für eine Anwendung bereitzustellen, die im Browser genutzt wird.
  • Du kannst PHP nutzen, um Anwendungen auf Kommandozeilenbasis zu schreiben – das nur als Info am Rande, aber es ist sicher nicht das was du damit vor hast
  • Du kannst mit Datenbanken arbeiten, um Daten persistent zu speichern
  • Du hast mit PHP Zugriff auf das Dateisystem, das heißt die kannst Dateien lesen und schreiben

Kurze Erklärung der Funktionsweise anhand eines nachvollziehbaren Praxisbeispiels

Sehr viele Online-Portale arbeiten mit PHP. Du, also der Benutzer, bedient im Endeffekt eine Oberfläche, die er im Browser aufruft. Das was du dort alles siehst ist das Ergebnis von HTML-, CSS- und Javascript-Code. Dein Browser sorgt dafür dass das so aussieht wie es aussieht, er analysiert den HTML-, CSS- und JavaScript-Code und führt in aus, eine bestimmte sog. Engine regelt, wie die Seite dargestellt (gerendert) wird. Es gibt unterschiedliche Browser (Chrome, Firefox, Edge, …) die jeweils eigene Engines benutzen, deswegen sehen manche Seiten in verschiedenen Browsern auch geringfügig anders aus.

Angenommen du bist also auf irgendeiner Webseite wo der du dein Benutzerprofil aktualisieren möchtest, z.B. deine E-Mail-Adresse. Tja, das ist etwas, das mit HTML nicht geht. Mit HTML wird „lediglich“ eine schöne Oberfläche für dich zur Verfügung gestellt, ein Text-Eingabefeld wo du deine E-Mail Adresse eingeben kannst, ein Button wo „Speichern“ draufsteht, um deine Eingaben auch zu übernehmen wenn man drauf klickt. Jedoch muss ja irgendwer oder irgendwas dafür sorgen, dass diese von dir eingegebenen Daten nach dem Absenden des Formulars auch tatsächlich in irgendeiner Form persistent gespeichert werden können und permanent verfügbar sind – und hier kommt PHP ins Spiel. Das HTML-Formular das du ausgefüllt hast, wird an den Server gesendet, dort wartet ein PHP-Skript (z.B. eine Datei daten_speichern.php), und der gute Mensch der das programmiert hat, hat natürlich dafür gesorgt, dass die übermittelten Daten verarbeitet und in eine Datenbank eingetragen werden. Und wenn dieser Jemand nicht dumm ist, prüft er deine Daten vorsorglich, um dich ggf. mit einem Warnhinweis darüber zu informieren, dass die eingegebene E-Mail-Adresse kein gültiges Format hat – oder eben dass das Speichern deiner Änderungen erfolgreich war. Den Vorgang kennst du sicher schon, hast es aber vermutlich nie aus technischer Sicht gesehen.

Gibt es Nachteile von PHP?

Ja auch die gibt es. Ich gehe nicht näher darauf ein, aber PHP ist eine typenschwache Sprache. Hä, was ist das? Das wirst du erfahren, wenn es soweit ist, und zwar im übernächsten Artikel wenn es um Variablen und Datentypen geht.
Dieser Umstand mag sich bei Einsteigern durchaus wie ein Vorteil anfühlen. Der größte Nachteil aus meiner Sicht ist aber, dass PHP es Einsteigern als sehr attraktiv anbietet, unsauber zu programmieren. Man kann mit PHP dreckigen, schlechten Code schreiben der funktionieren wird, ja das geht, das geht sogar sehr gut und einfach. Man kann aber auch schönen, sauberen Code produzieren. Ich versuche, dich hierbei zu unterstützen und dir zu zeigen, wie man solche Fallen vermeidet, um von Anfang an sauber zu programmieren.

Aber davon abgesehen, jede Programmier- oder Skriptsprache hat ihre Vor- und Nachteile und auch ihre Eigenarten. Wie in fast allen technischen Bereichen ist es auch bei Programmiersprachen so, dass es nicht die ultimative Super-Lösung gibt. Wenn du aber scharf darauf bist, Webseiten oder besser gesagt Webanwendungen zu programmieren, ist PHP alternativlos und für dich die erste Wahl – du bist hier sehr gut aufgehoben.

Ich höre ständig „Server“ und „Webserver“, was hat es damit auf sich?

Zu wissen was ein Server ist, ist essentiell um mit PHP arbeiten zu können – und um nicht in Erklärungsnot zu geraten, falls man mal gefragt wird. Ein Server ist im Grunde genau das, was es auf Deutsch übersetzt heißt. Englisch „to serve“, also „anbieten“, „servieren“, „bedienen“. Ein Server tut genau das. Also alle Magie beiseite, ein Server ist in erster Linie nur ein ganz normaler PC. So wie der vor dem du gerade sitzt. Ein PC wird automatisch zu einem Server, wenn er für andere etwas bereitstellt – nicht mehr, und nicht weniger, das ist die Definition eines Servers. Angenommen also du speicherst auf deinem PC Filme in digitaler Form, um sie für deine Freunde im lokalen Netzwerk, bei dir Zuhause über WLAN verfügbar zu machen. Dann ist dein System zu dem Zeitpunkt schon ein Server. Vielleicht hast du schonmal was vom Client-Server-Prinzip gehört – vielleicht auch nicht. Nun, die Clients sind in dem Fall die PCs deiner Kumpels die eine Anfrage an den Server stellen – an deinen PC, denn von dem wollen sie ja etwas.
Der Server ist also der, der anbietet, und der Client ist der, der anfragt. Mehr ist das nicht.

Momentan ist dein Computer (oder Smartphone) der Client, der mittels Webbrowser eine bestimmte Webseite anfragt – nämlich meinen Blog hier, das was du gerade siehst und liest. Und wenn du das hier lesen kannst, hat mein Webserver seine Aufgabe erfolgreich erledigt, das heißt er hat dir die angefrage Seite zurückgegeben und du kannst sie in deinem Browser anschauen. Der dafür zuständige, installierte Dienst der auf meinem Server läuft ist ein sog. Webserver-Dienst (konkret ist dieser Dienst z.B. Apache oder nginx). Es gibt viele Arten von Servern, und ein Webserver hat die Aufgabe, sich ausschließlich um HTTP/HTTPS-Anfragen zu kümmern.

Es gibt noch andere Server, von denen ich kurz einige aufzählen möchte, einfach damit du diese ganze Server-Geschichte ein bisschen verstehst. Du musst das nicht lesen, aber wenn du an Hintergrundwissen interessiert bist und du sowieso genug Zeit mitgebracht hast, warum nicht. Ich habe die Erfahrung gemacht, dass es wichtig ist, Zusammenhänge und Begriffe verstehen zu lernen, um schnell richtig gut zu werden.

  • Webserver – bearbeitet HTTP-Anfragen, die üblicherweise über Port 80 angefragt werden. Dahinter arbeitet ein Dienst (der schonmal erwähnte Apache zum Beispiel) der sich um diese Anfragen kümmert und weiß was zu tun ist. Im Regelfall erfolgen HTTP-Anfragen über einen Browser, und auch wenn du davon nichts weißt oder mitbekommst, wird das über Port 80 erledigt. Du kannst dem Browser in der Adresszeile über alles was vor dem :// kommt mitteilen, welche Art von Inhalten angefragt werden. Sicher hast du schonmal gehört dass es sowas wie gesicherte Verbindungen oder SSL gibt (Online-Baking wie VR Bank oder PayPal) bei denen die Adressleiste grün ist. Das sind auch Webserver-Anfragen, die jedoch über https://irgendwas.de angefragt werden (Port 443).
  • SMTP-Server – bearbeitet SMTP-Anfragen. Auch genannt Mailserver. Falls du z.B. bei GMX oder Web.de bist – die haben einige SMTP-Server, die den Eingang und den Versand von E-Mails managen.
    Der Client ist hierbei das E-Mail Programm (Outlook, Thunderbird u.ä.).
  • Fileserver – da sind wir bei dem Beispiel von oben, bei dem du über dein Laptop Filme für andere bereitstellst. Dein Laptop übernimmt die Rolle eines Fileservers, weil er Dateien zur Verfügung stellt – das heißt du hast aus dem Ordner in dem die Filme liegen ein freigegebenes Verzeichnis gemacht, auf das andere PCs im Netzwerk Zugriff erhalten.
  • Printserver – ein Druckerserver verwaltet und steuert viele Drucker. Sowas findest man meist in großen Firmen die auch mehrere Standorte haben können.

So, schwere Lektüre. Lass es sacken, du musst das Zeug nicht auswendig im Kopf behalten. Aber es ist ein gutes Gefühl, schonmal von etwas gehört zu haben. Du hast es jetzt im Hinterkopf, da ist es vorerst gut aufgehoben.

Zurück zum Webserver, um den es ja ausschließlich geht, wenn wir PHP zum Laufen kriegen wollen. Ich schätze aber, dass für dich vorerst noch eine Frage offen ist:

Brauche ich selber so einen Webserver überhaupt?

Ziemlich sicher ja, ich erkläre dir warum. Wir werden es nachher so einrichten, dass du bei dir auf deinem PC einen Webserver installierst. Den brauchst du, weil dein PC nicht von allein damit umgehen kann, wenn HTTP-Anfragen rein kommen. Der weiß nämlich gar nicht, was in dem Fall zu tun ist. Genau deswegen muss auf dem System ein Programm (ein Dienst) installiert sein, der im Hintergrund läuft und auf HTTP-Anfragen wartet und reagiert. Du brauchst dafür übrigens keinen zweiten PC, dein PC kann in dem Fall Client und Server zugleich sein. Klingt komplizierter als es ist.

Der Dienst von dem hier die Rede ist, heißt wie schon erwähnt Apache – ein Webserver-Dienst. Dieser Apache Dienst tut -wenn er dann installiert ist- auf deinem PC folgendes:

  • Er „lauscht“ auf eingehende HTTP-Anfragen, also alles was über Port 80 oder 443 rein kommt.
  • Wenn eine Anfrage eintrifft, bearbeitet er diese und liefert, sofern vorhanden, das angefragte Dokument

Vielleicht fragst du dich an der Stelle, wofür du dafür einen Webserver-Dienst benötigst. Theoretisch kannst du normale HTML-Dateien (dateiname.html) ja auch ohne Webserver in deinem Browser ausführen. Stimmt, in dem Fall wird die Datei allein vom Browser geladen, der Apache kommt dabei nicht ins Spiel.

Nunja, und der Webserver ist eben auch unbedingt notwendig, wenn man serverseitig programmieren möchte – das heißt mit PHP programmieren möchte. Genau das was wir ja wollen.

Apache selbst kümmert sich also um HTTP-Anfragen und kann Webseiten an den anfragenden Browser liefern. Um aber PHP-Code auszuführen, muss zusätzlich ein PHP-Interpreter laufen. Jetzt bist du vermutlich vollends verwirrt – aber beruhige dich, denn:

Damit du keinen riesigen Aufwand mit der Installation von Apache, PHP und ggf. noch MySQL (dazu kommen wir irgendwann später) hast, gibt es diese ganzen wichtigen Sachen im Bundle, zu finden unter dem Namen „XAMPP“. Das ist im Endeffekt ein Software-Paket, das dir alle nötigen Programme und Dienste bereitstellt, um einen Webserver zum Laufen zu kriegen – und das vollautomatisch. Und damit beginnen wir nun:

Installation eines Webservers

  • Gehe auf https://www.apachefriends.org und lade dir das für deinen PC (ich schreibe die Anleitung für Windows-Nutzer, viele Dinge sind aber identisch zur Nutzung anderer Betriebssysteme) passende Installationsprogramm herunter.
  • Öffne die heruntergeladene Datei und führe das Setup aus – folge dabei den Anweisungen am Bildschirm.
  • Bei der Auswahl der Komponenten („Select components“ steht dort) kannst du gern alles aktiviert lassen. Lieber zuviel als zu wenig.
  • Folge den weiteren Schritten und installiere am Ende XAMPP.
  • Anschließend sollte das „xampp control panel“ starten – falls nicht, suche es über das Windows-Menü.

Das XAMPP Control Panel …

… ist die zentrale Steuerung für deine Webserver-relevanten Dienste. Das Starten des Dienstes „Apache“ startet den PHP-Interpreter gleich mit – davon siehst du nichts, das ist normal. Klicke also bei „Apache“ auf „Starten“. Wenn das ohne Fehler klappt, ist dein Webserver-Dienst erfolgreich gestartet. Falls es dabei irgendwelche Fehler gibt, schau mal nach ob du Skype geöffnet hast und schließe es in dem Zuge gleich.

Webserver testen

Prüfen wir gleich mal, ob wir Erfolg hatten. Öffne deinen Browser und gib folgende Adresse ein: http://localhost
Wenn sich jetzt die „Willkommen bei XAMPP“-Seite öffnet, hat alles bestens geklappt 🙂 Falls nicht – hinterlasse mir unten einen Kommentar.

Falls der Vorgang erfolgreich war, hier weiterlesen.
Warum hat das funktioniert? Von localhost hast du vielleicht noch nie was gehört. Macht nix, unten beim FAQ und im folgenden Abschnitt gehe ich genau darauf ein, was es damit auf sich hat. Jetzt erstmal zum groben Verständnis: localhost ist immer der Hostname des eigenen Rechners. Wir müssen quasi unseren eigenen Rechner über seinen Hostnamen ansprechen, damit Apache erkennt, dass es sich um eine HTTP-Anfrage handelt.

Aber weiter mit den wichtigen Dingen:
Wieso und woher kommt jetzt diese XAMPP Willkommens-Seite? Bei Windows wird nach der Installation von XAMPP direkt unter dem Systemlaufwerk (Lokaler Datenträger, meist „C:\“) ein Verzeichnis „xampp“ erstellt. Dort befindet sich ein Unterverzeichnis „htdocs“. Und dort liegt eine Datei „index.php“ oder „index.html“ (Dateien mit diesem Namen werden -falls vorhanden- immer automatisch geöffnet, wenn über die Adresszeile keine bestimmte Datei angegeben wurde – das erkläre ich dir genauer im nächsten Artikel unten im FAQ). Du kannst jetzt also wie eben beschrieben über den Windows Explorer zu diesem htdocs-Verzeichnis navigieren, und mit Doppelklick (oder Rechtsklick -> „Öffnen mit“ -> „Firefox/Chrome/WasAuchImmer“) die Datei in deinen Browser laden. Würde genauso funktionieren, ganz ohne Webserver und ohne dass Apache gestartet sein muss. Allerdings funktioniert das nur bei HTML-Dateien, bei PHP-Dateien schon nicht mehr. Der Browser kann eine HTML-Datei öffnen, weil er mit HTML-Code umgehen kann. Der Browser sorgt dafür, dass HTML-Inhalt dargestellt wird.

Damit wären mit dieser Anleitung erstmal durch. Jetzt folgt noch ein FAQ und unten ein Fazit.

FAQ

Ist mein PC sicher? Jetzt hat doch alle Welt Zugriff auf meinen PC!
Nein, wtf – wie kommst du auf sowas? Dein PC ist nach der Installation des Webserver-Dienstes vom Rest der Welt noch genauso abgeschottet wie zuvor. Lediglich deine Kollegen / Freunde die sich im selben lokalen Netzwerk befinden wie du, können auf deine Seite zugreifen (je nach Einstellung). Deine Firewall ist (zumindest in Windows) so eingestellt, dass Apache automatisch Port 80 für interne Netzwerkteilnehmer zugänglich ist. Auch das lässt dich bei Bedarf ausschalten, indem man in den Firewall Einstellungen einfach bei den zugelassenen Programmen den Apache Dienst raus nimmt.
Aber zurück zur Frage ob öffentliche Benutzer von außen eine Chance haben, irgendwas zu sehen: dein Port 80 mag zwar an deinem PC geöffnet sein, aber wer von außen bis dorthin will, muss ja auch erst mal deine öffentliche WAN-IP kennen und dann durch deinen Router durchkommen. Und der Router muss dann auch erstmal so eingestellt sein, dass er die Anfrage überhaupt an dich weiterleitet – was standardmäßig nicht der Fall ist. So vermurkst kann deine Netzwerkkonfiguration gar nicht sein, dass das alles aus Versehen freigeschaltet ist 😉 Das kannst du bei Bedarf aber auch alles absichtlich so konfigurieren, siehe nächster Punkt:

Kann ich meinen Webserver mit der ganzen Welt teilen?
Ja das geht, da müsstest du dann Portweiterleitungen in deinem Router einrichten (Beispiel: Port 80 von außen soll auf Port 80 eines bestimmten, lokalen Hosts weitergereicht werden – deinen PC) sowie die Nutzung eines DynDNS-Dienstes in Anspruch nehmen um den Wechsel der öffentlichen IP-Adresse die dein Provider dir zugeteilt hat direkt an den DynDNS-Dienst mitzuteilen, um deinen Webserver ständig über den gleichen Hostnamen verfügbar zu halten. Machbar ist alles, empfehlen tue ich das aber keinem. Denn du haftest voll und ganz für alle Schäden – nicht nur für die eigenen (dein Server wird gehacked und geht kaputt) sondern auch für Schäden die durch deinen Server aufgrund eines Hacks verursacht werden (Versand von Spam, Verbreiten von Trojanern etc..). Lass besser die Finger davon.

Was bedeutet „Syntax“?
Mit Syntax ist der „Satzbau“ des Programmcodes gemeint – außerhalb der Programmierung und per Definition ist „Syntax“ die sog. Lehre vom Satzbau. Im echten Leben gibt es Wörter, aus denen Sätze gebildet werden. Die Syntax legt fest, in welcher Form, Reihenfolge und Anordnung diese Wörter verwendet werden müssen, um korrekte Sätze zu bilden. Genauso ist es mit Programmier- oder Skriptsprachen. Es gibt vielerlei spezieller Wörter -in der Programmierung spricht man eher von Befehlen oder Anweisungen– die richtig angeordnet werden müssen, damit unser Computer überhaupt versteht, was wir von ihm wollen. Das (und einiges andere) unterscheidet einen Computer vom Menschen. Während ein Mensch einen Satz, der kleine Fehler enthält, dennoch richtig deuten kann (Begriffe werden durch den Kontext eindeutig), fehlt es einem Computer einfach an der nötigen Phantasie, um auch nicht-korrekte Anweisungen zu verarbeiten. Dem musst du ganz genau sagen, wie er was zu machen hat.

Die Sache mit dem „localhost“ hab ich nicht verstanden!
Nun, das ist der lokale Hostname eines jeden Rechners. Egal an welchem PC man sitzt, wenn man den Host „localhost“ anspricht, kontaktiert man damit immer den eigenen PC. Aufgelöst wird dieser auf die Loopback-IP-Adresse 127.0.0.1 – auch damit spricht man immer den eigenen PC an. Nehmen wir an, dein Kumpel hockt mit seinem PC bei dir (und ist ebenfalls im gleichen Netzwerk wie du, z.B. über WLAN) und er möchte jetzt auf seinem PC und in seinem Browser deine Webseite sehen (die „Willkommen bei XAMPP“-Seite). Wenn er bei sich jetzt auch „http://localhost“ eingibt, bricht die Verbindung nach einigen Sekunden ab. Warum? Weil er versucht, eine HTTP-Anfrage an seinen eigenen Rechner zu stellen. Da bei ihm kein XAMPP (kein Webserver-Dienst) installiert ist, wird er aber keine Antwort bekommen. Das heißt er muss selbstverständlich die Anfrage an deinen PC stellen. Dein Freund kann deine Webseite übrigens nur sehen, wenn bei dir der Webserver läuft (du hast im XAMPP Control Panel bei „Apache“ auf „Starten“ geklickt). Da ihr beide im selben Netzwerk seid, funktioniert sowas, und zwar über die IP-Adresse. Dein PC und auch der deines Kumpels haben von eurem Router eine IP-Adresse zugewiesen bekommen. Welche das ist, kannst du herausfinden, indem du unten in der Taskleiste (neben der Uhrzeit) auf das Netzwerk-Symbol einen Rechtsklick machst, dann „Netzwerk- und Freigabecenter“ öffnest und links auf „Adaptereinstellungen ändern“ klickst. Dort siehst du deine Netzwerkadapter – wenn du über Kabel im Netzwerk bist, wähle hier den Eintrag wo etwas steht wie „Ethernet“, bei WLAN wähle „WLAN“ oder „WiFi“ oder „Drahtlosverbindung“ o.ä. Mache jedenfalls beim entsprechenden Adapter einen Rechtsklick und wähle „Status“, im daraufhin öffnenden Fenster klickst du auf „Details…“ und dort siehst du dann einen Eintrag „IPv4-Adresse“. Der Wert dieses Eintrags ist deine IP-Adresse. Die soll dein Freund jetzt bei sich im Browser eintragen, also http://192.168.123.123 (je nachdem was deine IP ist). Und schon sieht er deine Webseite.

Skriptsprachen, PHP-Interpreter, Parsen zur Laufzeit, Whaaaaat?
Skriptsprachen (PHP ist so eine) werden von einem Interpreter zur Laufzeit geparsed. Heißt im Klartext: deine .php-Datei wird vom Interpreter zur Laufzeit eingelesen, analysiert und ausgeführt.
Programmiersprachen hingegen werden einmalig von einem Compiler kompiliert, das heißt der lesbare Code den der Programmierer schreibt wird in Code übersetzt, der von der Maschine gelesen und verstanden werden kann. Diese fertig kompilierte Datei kann dann als fertige, jederzeit ausführbare Anwendung gestartet werden.

Fazit

Erstmal Hut ab dass du es bis hierhin geschafft hast. Das war sicher viel Stoff auf einmal für dich – wir haben zugegebenermaßen wirklich ziemlich weit unten angefangen. Du musst das alles nicht komplett verstanden haben, keine Sorge. Im nächsten Artikel suchen wir uns einen Editor in den wir unseren Code tippen können und legen mit der Programmierung los.

Wenn dir der Artikel gefällt oder weitergeholfen hat, freue ich mich natürlich über einen Kommentar 🙂

Gruß
Link

2 Gedanken zu „PHP lernen – Einführung und Vorbereitung“

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.