====== PHP ======
===== Hello World =====
[[https://github.com/akamola/helloworld/blob/master/helloworld.php|"Hello World"-Beispiel bei GitHub]]
===== Eingebauter Webserver =====
Ab der Version 5.4 verfügt PHP über einen eigenen Webserver, der mittels eines [[lexikon:terminal|Terminals]] gestartet werden kann:
php -S localhost:8000 -t foo/public
Mit dem Argument ''-S'' wird der Server initialisiert, dazu wird eine Adresse, meist ''localhost'', mit einem beliebigen Port, hier ''8000'', angegeben. Das Argument ''-t'' gibt das Verzeichnis an, dass als [[lexikon:documentroot|Document Root]] des Webservers funktionieren soll, relativ zu dem aktuellen Verzeichnis (hier ''foo/public'').
===== PHP-Shorttag =====
Neben dem PHP-Tag ''
short_open_tag = Off
Wenn man keinen Zugriff auf die ''php.ini'' hat, wie bei den meisten [[webdev:hosting|Shared-Hostern]], kann dieser auch über die [[apache-httpd:htaccess|HTACCESS]] deaktiviert werden:
php_flag short_open_tag off
===== Strings =====
In PHP gibt es zwei Arten Strings (Zeichenketten) in Anführungszeichen zu setzen: In doppelten oder einfachen Anführungszeichen. Der größte und wichtigste Unterschied zwischen diesen Anführungszeichen ist, dass Strings in doppelten Anführungszeichen vom Interpreter ausgewertet werden und Strings in einfachen Anführungszeichen nicht!
Strings in einfachen Anführungszeichen werden behandelt wie sie sind und es gibt nur zwei Zeichen die Escaped werden können bzw. müssen: Das einfache Anführungszeichen, mittels ''\''', und das Backslash, mittels ''\\''.
echo '\'Hello\' World'; // Output: 'Hello' World
Strings in doppelten Anführungszeichen werden interpretiert und bspw. Variablen durch ihre Werte ersetzt; zudem gibt es einige weitere Zeichen die Escaped werden müssen.
$foo = 42;
echo "Foo is $foo"; // Output: Foo is 42
echo 'Foo is $foo'; // Output: Foo is $foo
Es empfiehlt sich also Strings, die nicht interpretiert werden müssen, in einfache Anführungszeichen zu setzten. Desweiteren empfiehlt es sich, statt Strings und Variablen in doppelte Anführungszeichen zu setzen und diese interpretieren zu lassen, Strings und Variablen einzeln zu verketten, da dies weniger Arbeitsspeicher verbraucht!
$foo = 42;
echo "Foo is $foo"; // More memory usage
echo 'Foo is ' . $foo; // Less memorg usage
Quelle: [[http://techtalk.virendrachandak.com/php-double-quotes-vs-single-quotes/|Virendra's TechTalk: PHP Double Quotes vs. Single Quotes]]
Darüber hinaus gibt es noch zwei andere Arten Strings in PHP zu definieren: in [[http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc|heredoc-]] und, seit PHP 5.3.0, [[http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.nowdoc|nowdoc-Syntax]].
===== Importieren =====
==== include() in Variable speichern ====
===== Weiterleitung =====
==== Flexiblere Funktion ====
Quelle: [[http://stackoverflow.com/a/768472|Stack Overflow: How to make a redirect in PHP?]]
===== CSS mit PHP generieren =====
Mit PHP lässt sich dynamisch [[css:start|CSS]] generieren, allerdings muss, damit der Browser es auch als CSS interpretiert, der Content-Type korrekt gesetzt werden:
===== Links =====
* [[http://php.net/|PHP: Hypertext Preprocessor]]
* [[https://pinboard.in/u:aberaberarne/t:php|Arnes Link-Sammlung zu PHP]]
==== Tutorials ====
=== Kostenpflichtige Tutorials ===
* [[https://www.video2brain.com/de/videotraining/neu-in-php-5-5|video2brain: Neu in PHP 5.5]]