Benchmark: strtotime() vs DateTime vs getTimestamp in PHP

Zuletzt schrieb ich ja darüber, wie man Datumsvergleiche in PHP realisieren kann. In dem Artikel stellte ich zwei Lösungsansätze vor. Zum einen mit Hilfe der strtotime()-Methode und zum anderen mit der DateTime-Klasse.
In den Kommentaren wurde ich dann von Christoph darauf hingewiesen, dass die strtotime()-Variante womöglich schneller sei. So hundertprozentig sicher war er sich jedoch auch nicht, also habe ich beschlossen mal einen kleinen Performance-Test durchzuführen, dessen Ergebnisse ich euch hier kurz präsentieren möchte.
Was habe ich gestestet?
Da die Frage auf strtotime() vs. DateTime abzielt, die DateTime-Klasse im Gegenteil zur strtotime()-Funktion jedoch mehr Funktionalität bietet, habe ich bei der DateTime-Klasse die Erstellung des DateTime-Objekts + die Ausgabe des Timestamps gemessen. Es wird also die Zeit für die identische Ausgabe gemessen.
Als Eingabe habe ich ein Datum ohne Zeit genommen – sprich eine Jahres-, Monats- und Tag-Angabe. Zudem habe ich noch eine dritte Funktion mit ins Rennen geschickt. Was genau es mit der getTimestamp()-Funktion […]

Datum in PHP vergleichen – so geht’s

php_date_compareWie vergleicht man eigentlich 2 Daten (Daten = Plural von Datum) in PHP miteinander? Die Frage klingt erst mal einfacher als es ist.
Der erste Gedanke, der einem meistens kommt, ist folgender. Wir speichern 2 Daten als String und vergleichen diese.
 
 
Vorüberlegung

<?php
$date1 = "2012-1-12";
$date2 = "2011-10-12";

if ($date1 > $date2)
echo "$date1 ist neuer als $date2";
else
echo "$date1 ist &auml;lter als $date2";
?>

Ausgabe:

2012-1-12 ist neuer als 2011-10-12

Auf den ersten Blick scheint das auch eine funktionierende Lösung zu sein. Was jedoch, wenn die beiden Daten in einem unterschiedlichen Format vorliegen?

<?php
$date1 = "12-1-12";
$date2 = "2011-10-12";

if ($date1 > $date2)
echo "$date1 ist neuer als $date2";
else
echo "$date1 ist &auml;lter als $date2";
?>

Ausgabe:

12-1-12 ist älter als 2011-10-12

Nun wird das Datum in 2012 auf einmal als kleiner als das Datum […]

Perl Scripte direkt in Notepad++ ausführen

notepad++_perl_executeVor ein paar Tagen beschrieb ich bereits, wie man die Entwicklungsumgebung Eclipse für die Entwicklung von Perl-Scripten einrichtet. Wer nicht gleich mit Kanonen auf Spatzen schießen will, kann jedoch zum Beispiel mit Hilfe des Notepad++ Editors relativ komfortabel Perl-Scripte schreiben.
Nebst Syntax Highlighting und Intellisense aka Autovervollständigung, bietet Notepad++ auch die Möglichkeit Scripte direkt aus Notepad++ heraus auszuführen. Hierfür ist jedoch eine einmalige Einrichtung nötig, die ich euch nachfolgend kurz erklären möchte.
Schritt 1 – Testscript anlegen:
perl-skripte_in_npp_ausführen_1  perl-skripte_in_npp_ausführen_2
Um später zu überprüfen, ob ihr alles richtig eingerichtet habt, solltet […]

Autovervollständigung aka Intellisense in Notepad++ aktivieren

notepad++ patchWer schon einmal mit Microsofts Visual Studio gearbeitet hat, wird Intellisense kennen und lieben. Die Autovervollständigung beim Schreiben von Quellcode nimmt einem ein gutes Stück an Arbeit ab. Wer seine Scripte nun aber lieber mit Notepad++ schreibt, muss nicht ganz auf die Autovervollständigung verzichten.
Denn auch Notepad++ bringt eine Autovervollständigung mit. Sie muss lediglich aktiviert werden. Und wie das geht, soll im Nachfolgenden aufgezeigt werden.
Schritt 1:
notepad++_intellisense_autovervollständigung_aktivieren_1  notepad++_intellisense_autovervollständigung_aktivieren_2
Öffnet das Optionsfenster und wechselt in den Reiter “Sicherheitskopie/Autovervollständigung”. Setzt nun jeweils einen Haken bei “Aktiviere Autovervollständigung” und bei “Funktionsparameter […]

Ungebetene Anrufer loswerden – Frank geht ran!

frank_geht_ranOk, heute gibt’s mal mehr oder weniger Offtopic. Gestern bin ich auf die Seite frank-geht-ran.de gestoßen und die Idee hat mir so gut gefallen, dass ich nun einen kleinen Artikel darüber schreibe. Doch was ist das überhaupt?
Frank geht ran ist nicht mehr oder weniger als eine Handynummer hinter der sich eine automatische Bandansage versteckt. Diese Ansage lässt bei Anruf freundlich aber auch deutlich verlauten, dass der jenige, der die Nummer verbreitet hat, nicht gestört, belästigt noch in irgendeiner Form kontaktiert werden möchte. (Ansage anhören)
Der Service ist vollständig kostenlos. Um Frank geht ran zu benutzen müsst ihr dem Störenfried lediglich folgende Nummer unterjubeln: (0 163) 1 73 77 43.
Und wofür braucht man das? Ich denke, da gibt es einige potenzielle Anwendungsfälle. Sei es der Onlineshop, der zur Registration neben der E-Mail-Adresse noch unbedingt […]