Entwickeln mit PHP
Links
Entwicklungsumgebungen
Eclipse
- … andere plugins, dann kann man sich phpmyadmin sparen
Debugging (mit Eclipse-Addons)
in der php.ini sollte zuerst einmal das Anzeigen von Fehlern aktiviert werden:
display_errors = On
dann sollte man die Anzeige möglichst vieler Informationen einstellen, dazu lassen wir mit der Zeile
error_reporting = E_ALL & ~E_NOTICE
alle Fehler und zusätzliche Informationen anzeigen.
- debugging gibts bei http://pecl.php.net (auch sowas wie pear) das Xdebug (PHP-Modul für eine bessere Fehlerausgabe).
Frameworks
Modultests oder Unit-tests
Modultests oder Unit-tests helfen bei der Entwicklung von Software indem sie die Verifikation der Korrektheit von Modulen einer Software ermöglichen.
phpunit (Pear-package)
PHP Klassen und Addons
- Pear: per kommandozeilen client („pear install {paketname}“) klassen runterladen und php erweitern da gibts auch eine sehr schöne Datenbankabstraktionsklasse DB und DB_DataObject.
- HTTP client request class - HTTP requests, proxy server, HTTPS, HTTP Basic, HTTP Digest, and NTLM (Windows or Samba), submits POST requests, …
Code-Beispiele
- Informationen über Server und PHP ausgeben:
<?PHP phpinfo();?>
- Servervariablen ausgeben:
<?php foreach($_SERVER as $_Name=>$_Wert) echo '<br>'.$_Name.": ".$_Wert; ?>
typische Aufgaben
Mails versenden
Formulare
MySQL Connect
$connID = mysql_connect ("localhost", "dbuser". "passwort"); if ($connID){ // Datenbankverarbeitung } else { echo ("Fehler: Kein Datenbankzugriff möglich!<br />"); } mysql_select_db("Datenbankname"); // oder falls mehrere Datenbakverbindungen geöffnet sind: mysql_select_db("Datenbankname", $connID); // (Auswahl-)Abfrage $result = mysql_query ("SELECT * FROM DatenbankName WHERE Feld1 LIKE "Zeichenkette"); // Zeilen davon auslesen, beide liefern ein Array mysql_fetch_row ($result) // Indices nummerisch mysql_fetch_arry ($result) // Die Feldnamen