Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Both sides previous revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
php [2020/08/14 14:28] webproducer PHPDoc - Dokumentation im PHP-Quellcode |
php [2024/11/04 10:09] (aktuell) webproducer SWITCH-CASE ergänzt |
||
---|---|---|---|
Zeile 3: | Zeile 3: | ||
PHP ist eine frei verwendbare, serverbasierte Programmiersprache. Serverbasiert heisst, dass der Programmcode auf dem Server interpretiert wird und lediglich das Ergebnis zum Webbrowser zurück gesandt wird. Somit wird die Rechenleistung vom Server, und nicht vom Client-PC beansprucht. Aus diesem Grund ist die Leistung und Ausstattung des Client-Rechners nicht relevant für die Geschwindigkeit der Scripte. | PHP ist eine frei verwendbare, serverbasierte Programmiersprache. Serverbasiert heisst, dass der Programmcode auf dem Server interpretiert wird und lediglich das Ergebnis zum Webbrowser zurück gesandt wird. Somit wird die Rechenleistung vom Server, und nicht vom Client-PC beansprucht. Aus diesem Grund ist die Leistung und Ausstattung des Client-Rechners nicht relevant für die Geschwindigkeit der Scripte. | ||
- | [[http://www.phptherightway.com|{{::php:therightway_leaderboard-728x90.png|}}]] | + | [[https://www.phptherightway.com|{{::php:therightway_leaderboard-728x90.png|}}]] |
+ | |||
+ | ==== Allgemeines zu PHP ==== | ||
* [[php:IDE|Die ideale (leider kostenpflichtige) PHP Entwicklungsumgebung (IDE)]] | * [[php:IDE|Die ideale (leider kostenpflichtige) PHP Entwicklungsumgebung (IDE)]] | ||
+ | * [[php:composer|Composer (anwendungsorientierter Paketmanager für PHP)]] | ||
* [[php:anonymous_functions|Anonyme Funktionen in PHP]] | * [[php:anonymous_functions|Anonyme Funktionen in PHP]] | ||
* [[PHP:Array|Array (Zuordnung von Werten zu Schlüsseln)]] | * [[PHP:Array|Array (Zuordnung von Werten zu Schlüsseln)]] | ||
* [[php:bedingungen|Bedingungen in PHP (if - else if - else). Beispiel-Script: Tageszeitabhängige Begrüßung]] | * [[php:bedingungen|Bedingungen in PHP (if - else if - else). Beispiel-Script: Tageszeitabhängige Begrüßung]] | ||
* [[php:bitweise|Bitweiser Operator (praktisches Anwendungsbeispiel)]] | * [[php:bitweise|Bitweiser Operator (praktisches Anwendungsbeispiel)]] | ||
- | * [[php:date_time|Datum und Uhrzeit: Funktionen und Codebeispiele]] | ||
* [[PHP:DOM|DOM - PHP-Schnittstelle für den Zugriff auf HTML- und XML-Dokumenten]] | * [[PHP:DOM|DOM - PHP-Schnittstelle für den Zugriff auf HTML- und XML-Dokumenten]] | ||
* [[PHP:GD|GD Libary - Programmbibliothek für die Bearbeitung von Grafiken]] | * [[PHP:GD|GD Libary - Programmbibliothek für die Bearbeitung von Grafiken]] | ||
+ | * [[php:ini|Konfigurationsdateien (ini-Dateien) mit parse_ini_file parsen]] | ||
* [[PDO|PDO - PHP-Schnittstelle für den Zugriff auf Datenbanken]] | * [[PDO|PDO - PHP-Schnittstelle für den Zugriff auf Datenbanken]] | ||
* [[php:oop|OOP - Objektorientierte Programmierung]] | * [[php:oop|OOP - Objektorientierte Programmierung]] | ||
Zeile 18: | Zeile 21: | ||
* [[php:Paamayim_Nekudotayim|Gültigkeitsbereichsoperator (Paamayim Nekudotayim)]] | * [[php:Paamayim_Nekudotayim|Gültigkeitsbereichsoperator (Paamayim Nekudotayim)]] | ||
* [[php:phpdoc|PHPDoc - Dokumentation im PHP-Quellcode]] | * [[php:phpdoc|PHPDoc - Dokumentation im PHP-Quellcode]] | ||
+ | * [[php:heredoc|Textabschnitte (z. B. HTML-Text) mit HEREDOC einfügen]] | ||
* [[php:loops|Schleifen in PHP]] | * [[php:loops|Schleifen in PHP]] | ||
* [[php:if|IF-ELSE-Kurzschreibweise]] | * [[php:if|IF-ELSE-Kurzschreibweise]] | ||
+ | * [[php:switch|SWITCH-CASE-Anweisung]] | ||
* [[php:empty|empty (PHP-Funktion)]] | * [[php:empty|empty (PHP-Funktion)]] | ||
* [[php:pow|Potenzrechnung mit PHP]] | * [[php:pow|Potenzrechnung mit PHP]] | ||
- | * [[php:german_ini|Sprachabhängige Konfigurationsdateien mit parse_ini_file]] | + | * [[php:mod|Modulo - Der Restwert beim Teilen]] |
+ | * [[php:simplexml|SimpleXML]] | ||
* [[php:preg|Reguläre Ausdrücke (preg_math)]] | * [[php:preg|Reguläre Ausdrücke (preg_math)]] | ||
* [[php:variablenfunktionen|Variablenfunktionen]] | * [[php:variablenfunktionen|Variablenfunktionen]] | ||
* [[php:var_var|Variable Variablen]] | * [[php:var_var|Variable Variablen]] | ||
* [[php:php2js|Variablen von PHP zu JavaScript übertragen (!)]] | * [[php:php2js|Variablen von PHP zu JavaScript übertragen (!)]] | ||
- | * [[php:htaccess|Verzeichnisschutz durch htaccess (Beispiel für Dateizugriffe)]] | ||
* [[php:constants|Konstanten]] | * [[php:constants|Konstanten]] | ||
- | * [[php:otpauth|Sicherheit: Login mit Zwei-Faktor-Authentifizierung]] | + | |
- | * [[php:qr_code|QR-Code (Quick Response)]] | + | ==== Konkrete Aufgabenstellungen ==== |
+ | |||
+ | * [[php:buchstabenliste|Buchstabenliste (Auflistung aller Buchstaben von A-Z) erstellen]] | ||
+ | * [[php:csv|CSV-Datei importieren und dessen Inhalt verarbeiten]] | ||
+ | * [[php:date_time|Datum und Uhrzeit (Feiertage, Kalenderwochen, Zeitumrechnung, Zeitumstellung, etc.)]] | ||
+ | * [[php:imap|E-Mails aus IMAP-Konto mit PHP auslesen]] | ||
+ | * [[php:checkiban|IBAN (International Bank Account Number) mit PHP validieren]] | ||
+ | * [[php:php_isopen|Öffnungszeiten mit PHP überprüfen]] | ||
+ | * [[pwgen|Passworgenerator erstellen]] | ||
+ | * [[php:qr_code|QR-Code mit PHP erzeugen]] | ||
+ | * [[php:htaccess|Verzeichnisse mit htaccess vor Zugriff schützen (Beispiel für Dateizugriffe)]] | ||
+ | * [[php:otpauth|Zwei-Faktor-Authentifizierung mit Token-Generator ertellen]] | ||
==== Codebeispiele ==== | ==== Codebeispiele ==== | ||
* [[php:autoload|Automatisches Nachladen von Klassen (spl_autoload_register)]] | * [[php:autoload|Automatisches Nachladen von Klassen (spl_autoload_register)]] | ||
- | * [[php:buchstabenliste|Buchstabenliste (Auflistung aller Buchstaben von A-Z]] | ||
* [[php:fileuploader|File-Uploader mit XMLHttpRequest]] | * [[php:fileuploader|File-Uploader mit XMLHttpRequest]] | ||
- | * [[pwgen|Passworgenerator]] | ||
- | * [[Passwörter sicher hashen]] | ||
- | * [[phprouterregex|RegEx Router in PHP]] | ||
- | * [[HTTP Authentifizierung + Token]] | ||
- | * [[Rekursion am Beispiel JSON]] | ||
- | * [[Sprachen (i18n)]] | ||
==== PHP-Klassen vorgestellt ==== | ==== PHP-Klassen vorgestellt ==== | ||
* [[FPDF|FPDF - PDF-Dokumente mit PHP erstellen]] | * [[FPDF|FPDF - PDF-Dokumente mit PHP erstellen]] | ||
- | * [[PHPMailer - mail() ohne Frust]] | ||
- | * [[Carbon - alles zu seiner Zeit]] | ||
* [[ziplib|ZIPlib - ZIP-Archiv mit PHP erstellen]] | * [[ziplib|ZIPlib - ZIP-Archiv mit PHP erstellen]] | ||
Zeile 58: | Zeile 65: | ||
* [[laravel:start|Laravel (Model View Controller)]] | * [[laravel:start|Laravel (Model View Controller)]] | ||
* [[laravel:Eloquent|Eloquent (Laravel ORM)]] | * [[laravel:Eloquent|Eloquent (Laravel ORM)]] | ||
- | * [[RedBean PHP (ORM)]] | + | * [[php:phpunit|PHPUnit - ein Framework zum Testen von PHP-Skripten]] |
* [[php:slim|Slim Micro-Framework für PHP]] | * [[php:slim|Slim Micro-Framework für PHP]] | ||
- | * [[PHPUnit]] | ||
* [[php:twig|TWIG (Template-Engine für PHP)]] | * [[php:twig|TWIG (Template-Engine für PHP)]] | ||
* [[xajax:start|Xajax - Ein Ajax-Framework für PHP]] | * [[xajax:start|Xajax - Ein Ajax-Framework für PHP]] | ||
- | * [[jquery:php|PHP und jQuery]] | + | |
+ | ==== Datenaustausch mit externen Systemen/Servern ==== | ||
+ | |||
+ | * [[php:rest|ReST-API (Programmierschnittstelle)]] | ||
+ | * [[postman| Postman (beliebteste Werkzeug zum Testen von APIs)]] | ||
+ | * [[redmine:api|Redmine ReST-API]] | ||
+ | * [[php:tado|Tado° ReST-API - Heizungssteuerung mit PHP]] | ||
+ | * [[php:meteomatics|Wetterbericht mit PHP abfragen]] | ||
+ | * [[php:soap|SOAP-API (Programmierschnittstelle)]] | ||
+ | |||
+ | ==== Dateiaustausch mit FTP (File Transfer Protocol) ==== | ||
+ | |||
+ | Das File Transfer Protocol dient zum plattformunabhängigen Austausch von Dateien zwischen zwei Systemen. FTP ist jedoch unsicher, da es über keine Verschlüsselung verfügt. Daher wurde der Dateiaustausch um die sichereren Varianten FTPS und SFTP erweitert. | ||
+ | |||
+ | ^ Protokoll ^ Beschreibung ^ Authentifizerung ^ Standard-Port ^ Beispiele ^ | ||
+ | | FTP | File Transfer Protocol | Benutzername und Passwort | Port 21 | [[php:ftp|PHP-Beispiel]] | | ||
+ | | FTPS | File Transfer Protocol over SSL | Benutzername und Passwort | Port 21 | [[php:ftps|PHP-Beispiel]] | | ||
+ | | SFTP | SSH File Transfer Protocol | Benutzername und Passwort | Port 22 | [[php:sftp|PHP-Beispiel]] | | ||
+ | | SFTP | SSH File Transfer Protocol | Benutzername und Private Key | Port 22 | [[php:sftp_private_key|PHP-Beispiel]] | |