Releasewechsel in PHP

Offensichtlich stellt die Auslieferung ein neuen Releases in einigen PHP-Projekten einen hohen manuellen Aufwand dar, da Dateien über die bestehende Installation mehr oder weniger manuell kopiert werden. Dabei müssen selbstverständlich zu löschende Dateien und Ordner berücksichtigt werden, sowie ist darüber hinaus dieser Vorgang nur vorwärtsgerichtet und kann im Falle eines massiven Fehlers nur zurückgerollt werden sofern eine Komplettsicherung vorliegt.
Zu guter Schluss kann dieser manuelle Vorgang mehrere Minuten bis sogar Stunden in Anspruch nehmen und damit eine längere Downtime der Webseite bzw. des Services einfordern. Je nach Projekt kann dies unerwünscht und in Folge dessen auch noch mit hohen Kosten verbunden sein – zum einen durch Personalkosten sowie zum anderen der Nichtverfügbarkeit und dem damit verbundenen Nutzungsausfall. Wer zur Krönung dann noch eine ganze Farm von installierten Applikationen zu aktualisieren hat wird letztlich seinen Aufwand nochmal um die Anzahl der Hosts multiplizieren dürfen.

In diesem Sinne: Prost Mahlzeit!

Releasewechsel in PHP weiterlesen

isset() Prüfung schlägt fehl

Die Prüfung auf definierte Schlüssel in einem PHP-Array kann wie folgt vorgenommen werden:

$data = array(
    'id' => 4711,
    'value' => NULL
);

if( isset( $data['id'] ) ) {
 echo "id existiert!\n";
}
if( isset( $data['value'] ) ) {
 echo "value existiert!\n";
}

Es kann jedoch vorkommen, dass hinter einem Eintrag der Wert NULL gespeichert ist. Die Funktion isset() wird dann das Vorhandensein des Eintrags dennoch als FALSE werten und damit wird dem Entwickler bzw. dem ursprünglichen Programmfluss weisgemacht, dass der Eintrag nicht vorhanden ist und mit dieser falschen Annahme die Programmausführung fortsetzen und zu unbegreiflichen Ergebnissen führen. isset() Prüfung schlägt fehl weiterlesen

Referenzen in PHP

Wer braucht schon Referenzen in PHP? Wenn man nun alles in PHP elegant via objektorientierter Programmierung erledigt ist diese Frage eigentlich gar kein Thema für den Alltag.

Was aber tun wenn man nun doch damit konfrontiert wird, so stelle ich fest, dass man die Referenzierung sowohl bei der Definition als auch beim Abruf explizit aufzeigen muss. Referenzen in PHP weiterlesen

Umstellung mysql auf mysqli

Mit PHP 5.5.0 werden die alten mysql-Funktionen als deprecated markiert und in einer künftigeren – mit dem heutigen Stand jedoch nicht näher spezifizierten Version – gänzlich entfernt. Daher sollte eine Umstellung dessen in den eigenen Projekten mittelfristig eingeplant werden. Dafür habe ich an dieser Stelle eine Umfängliche Schritt-für-Schritt Anleitung zusammengestellt.

MySQL: Das umfassende HandbuchDie Umstellung der mysql_*-Funktionen auf mysqli_*-Funktionen geht relativ reibungslos vonstatten, sofern man eine zentrale Verarbeitung der Datenbankabfragen implementiert hat. Ist dies nicht der Fall so wird sich der hier aufgeführte Aufwand um die Anzahl der zu behandelnden Stellen zuzüglich der notwendigen Tests in ungefähr multiplizieren. Umstellung mysql auf mysqli weiterlesen