PHPGangsta - Der praktische PHP Blog

PHP Blog von PHPGangsta


Archive for April, 2013

Vorsicht bei der basename() Funktion und Umlauten

with 6 comments

umlauteWieder ein sehr komischer Bug, diesmal in Zusammenhang mit der Funktion basename():

Die basename() Funktion wird dazu verwendet den letzten Namensteil eines Pfades zurückzugeben. Beispiele:

echo basename('/home/michael/datei.txt'); // -> datei.txt
echo basename('/home/michael/ordner'); // -> ordner
echo basename('/home/michael/ordner/'); // -> ordner

Funktioniert wunderbar. Auch mit Umlauten innerhalb eines Dateinamens kein Problem:

echo basename('/home/michael/trööööt.txt'); // -> trööööt.txt

Steht aber ein Umlaut am Anfang des Dateinamens, dann gibt basename() einen falschen Dateinamen zurück:

Weiterlesen »

Written by Michael Kliewe

April 25th, 2013 at 7:43 am

Posted in PHP

Tagged with , ,

Extended Method-Chains mit JavaScript

with 8 comments

Gastartikel von Thomas Worm

Der Autor ist 25 Jahre alt, beschäftigt sich bereits seit der Schulzeit mit der Entwicklung von Webanwendungen auf Basis von PHP, (X)HTML, CSS, JavaScript und dem Framework des Typo3 CMS. Nach Abschluss des Bachelor-Studiums der Informatik arbeitet der Autor bei der DATEV eG im Bereich Cloud Services/ASP und studiert berufsbegleitend den Informatik-Master in Hagen.

Was sind Method Chains

Als Method Chain bezeichnet man eine Kette aneinandergehänger Methodenaufrufe auf einem Objekt. Möglich wird dies dadurch, dass die Methoden das Objekt als Rückgabewert wiederliefern. Dies kann zum Beispiel sinnvoll sein, wenn Daten gefiltert, gruppiert und sortiert werden sollen:

var untermenge = datenmenge.filter('name','[ABC]*')
                           .group('umsatz').has('sum>400')
                           .orderBy('name');

Sofern man mit Mengen arbeitet, ist dies durchaus ausreichend, weil man immer eine Menge zurückbekommt und damit auch einen Rückgabewert, der interessant ist (weil er die Ergebnismenge beinhaltet).

Rückgabewert beifügen

Weiterlesen »

Written by Thomas Worm

April 22nd, 2013 at 9:46 am

Posted in Javascript

Tagged with

Tückisches array_merge()

with 8 comments

Welches Ergebnis würdet ihr erwarten wenn ihr 2 Arrays merged?

$a = array(
    'n' => 'n',
    'o' => 'o',
    'p' => 'p',
);

$b = array(
    'x' => 'x',
    20  => 14,
    'z' => 'z',
);

$c = array_merge($a, $b);

OK, ich verrate es euch, das Ergebnis sieht so aus:

Weiterlesen »

Written by Michael Kliewe

April 18th, 2013 at 8:56 am

Posted in PHP

Tagged with ,

Der Gewinner des PHP-Unconf EU + PHP- Days 2013 Tickets

with 4 comments

Alle 8 Kommentatoren haben den SHA256 Hash korrekt berechnet. Mein kleines Check-Script (siehe unten) spuckt folgendes aus:

Benjamin correct
Sebastian correct
Thomas Lamy correct
Tobi Strunz correct
Marco Rieger correct
Till correct
Ridcully correct
Mathias correct

Der Gewinner wurde wie folgt bestimmt:

Die Hashes wurden sortiert und der „niedrigste“ gewinnt das Ticket. Dieses Verfahren habe ich als HTML-Kommentar im Verlosungsartikel versteckt, hat sicher niemand gesehen 😉
Weiterlesen »

Written by Michael Kliewe

April 16th, 2013 at 9:21 am

PHPStorm 40% günstiger, und Bäume im Regenwald pflanzen

with 5 comments

Eine neue coole Aktion von JetBrains, den Machern von PHPStorm, WebStorm, IntelliJ IDEA, PyCharm usw:

Diverse Produkte von JetBrains gibt es bis zu 50% günstiger, und für jede verkaufte Lizenz während der 7 Tage (15. – 22. April 2013) werden Bäume gepflanzt im brasilianischen Regenwald. Dies gilt leider nicht für Upgrades/Verlängerungen, sondern nur für neue Volllizenzen. Im Falle von PHPStorm sind es 6 Bäume. Details findet man auf der Aktionsseite Earth Day Celebration.

Mehr über die Aktion „Plant a billion trees“ lest ihr im JetBrains Blog Artikel.

Danke an Julian für den Hinweis!

Nebenbemerkung: Den Gewinner des PHP-Unconf-plus-PHPDay-Tickets werde ich heute Abend auslosen und morgen hier publizieren.

Written by Michael Kliewe

April 15th, 2013 at 5:59 pm