Entwickeln mit PHP

Eclipse

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.

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)

  • 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, …
  • Informationen über Server und PHP ausgeben:
      <?PHP phpinfo();?> 
  • Servervariablen ausgeben:
     <?php
    foreach($_SERVER as $_Name=>$_Wert)
    echo '<br>'.$_Name.":  ".$_Wert;
    ?> 
  • Einzelne IP (hier: 22.23.24.25) an andere Adresse weiterleiten:
    $ipadresse = $_SERVER['REMOTE_ADDR'];
    if($ipadresse == "22.23.24.25")
    {
    	header("Location: http://www.zieldomain.com/");
    	// oder: header("Location: ./BACKUP/");
    	exit;
    }

typische Aufgaben

Mails versenden

Formulare

PDF

MySQL Connect

  $connID = mysql_connect ("localhost", "dbuser". "passwort");
  if ($connID){
   // Datenbankverarbeitung
  } else {
  echo ("Fehler: Kein Datenbankzugriff m&ouml;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