// der php hacker

// archiv

PHP Blog-Sammlung

Geschrieben am 12. Jan 2010 von Cem Derin

Ein kleiner Hinweis: Der PHP Gangsta (vom Namen darf man nun halten was man will ;) ) stellt derzeit eine mehr oder weniger ausgewählte Liste von deutschsprachigen PHP-Blogs zusammen, die halbwegs aktuell sind und nicht mehr auf Anfängerniveau schreiben zusammen. Ich habe mich ganz dreist selbst vorgeschlagen. Falls jemand noch Ergänzungen hat, könnt ihr ihm diese ja auch mal zukommen lassen.

Geschrieben in Blogosphere, PHP 2 Kommentare

Wusstest du schon …

Geschrieben am 31. Dez 2009 von Cem Derin

… dass PHP jonglieren kann? Und zwar mit Typen. Type juggling nennt man das, was passiert, wenn man einen String mit dem Inhalt “1″ versucht mit einem Integer zu addieren. Oder wenn man den String “Foo” mit dem Booleschen Wert “true” vergleicht: PHP würfelt die Typen einmal kräftig durch. Das sieht manchmal willkürlich aus, ist es meist aber nicht. Damit man keine bösen Überraschungen erlebt, sollte man sich mal diese Comparison Tables zu Gemüte führen.

Das wird dann auch mein letzter Post für dieses Jahr gewesen sein. Ich denke ich werde dann und wann noch einmal ein paar “wusstest du schon”-Beiträge raushauen. Ich hoffe ich konnte euch die Brückentage etwas verkürzen und vielleicht das ein oder andere neue erzählen. Ich wünsche euch allen einen guten Rutsch ins neue Jahr (… nen Fünfer ins Phrasenschwein – oh Mist. Schon wieder ;) ) und wir sehen uns dann 2010 in alter Frische wieder! Und als kleines Silvestergeschenk noch dieses tolle Video. Über den Song kann man streiten, aber die Performance ist toll. Also dann: Ciao!

Wusstest du schon …

Geschrieben am 30. Dez 2009 von Cem Derin

… dass man mit strtotime wesentlich einfacher und korrekter Zeitenräume addieren oder abziehen kann, als es von Hand überhaupt möglich ist? Denn nicht jeder Tag hat 86400 Sekunden. Außerdem umgeht man auch noch das Antipattern der Magic Numbers.

$nextWeek = strtotime('+1 week');
$twoMonth = strtotime('+2 month');
$reallyScrewed = strtotime('+2 years +1 month +1 day +4 hours +7 minutes');

Sieht doch wesentlich besser aus, oder? Und man weiß genau, was hier passiert. Als zweiten Parameter kann man übrigens einen UNIX-Timestamp angeben, der als Ausgangszeitpunkt verwendet wird.
// mehr lesen

Geschrieben in Entwicklung, PHP 10 Kommentare

Wusstest du schon …

Geschrieben am 29. Dez 2009 von Cem Derin

… dass Type Hints auf Arrays gemacht werden können? Im Gegensatz zu Primitiven Datentypen wie Strings, Integer oder Boolean kann man also in Methoden- und Funktionssignaturen  auch Arrays verlangen.

Type Hints sind eine bequeme und robuste Möglichkeit, die erwarteten Datentypen zu prüfen, bzw von PHP prüfen zu lassen. Dazu wird der Datentyp (bzw. die zu erwartete Klasse) einfach vor den Parameter in die Signatur geschrieben. Verwende ich beispielsweise eine Signatur wie folgende …


     function foo(Array $bar, Foo_Bar $buzz)

… weise ich PHP so an, dass der erste Parameter “bar” vom Typ Array sein muss. Der zweite “buzz” allerdings kann vom Typ “Foo_Bar” sein – oder von diesem abgeleitet sein. Man kann hier also auch jede Kindklasse übergeben.

Während den Tagen bis zum neuen Jahr werde ich immer mal wieder ein bisschen aus dem Trick- und Nähkästchen plaudern. Die arbeiten an Brawler stagnieren derzeit ob des Fresskomas unter dem ich grade leide, aber da mich mein gähnend Leerer Feedreader annervt, will ich wenigstens dazu beitragen, dass ein wenig passiert.

Geschrieben in Entwicklung, PHP Ein Kommentar

Wusstest du schon …

Geschrieben am 28. Dez 2009 von Cem Derin

… dass das schließende PHP Tag nicht zwingen notwendig ist? Im ZF findet man es kaum, PDT lässt es seit ein paar Versionen auch weg und meine Wenigkeit ebenfalls.

Aber warum macht man das? Zwei Gründe: Der erste ist mit Sicherheit eine gewisse Faulheit. Der zweite jedoch hat Hand und Fuß: Man stell sich vor, hinter dem schließenden PHP-Tag befindet sich ein Zeilenumbruch oder Whitespace. Wird nun kein Output-Buffering benutzt, wird man keine Cookies oder Customized Header mehr setzen können. Das wäre natürlich blöd.

Während den Tagen bis zum neuen Jahr werde ich immer mal wieder ein bisschen aus dem Trick- und Nähkästchen plaudern. Die arbeiten an Brawler stagnieren derzeit ob des Fresskomas unter dem ich grade leide, aber da mich mein gähnend Leerer Feedreader annervt, will ich wenigstens dazu beitragen, dass ein wenig passiert.

PHP ist nicht sehr Kopenhagen

Geschrieben am 20. Dez 2009 von Cem Derin

Ein kleiner Guide, wie man schnell mehr Suchmaschinensichtbarkeit erreicht: Man nehme das Hauptthema seiner Seite und kombiniere dies mit einem aktuell heißem Thema. In diesem Fall: PHP und der Klimagipfel. So gesehen im Blog von Webtoolkit, dort wird in einer meiner Meinung nach Milchmädchenrechnung erläutert, warum man von PHP auf C++ umsteigen sollte, da die Servereffizienz so gesteigert und so der CO2-Ausstoß vermindert werden kann. Ob Ihr das am Ende seht wie ich, bleibt euch überlassen =)

Gefunden bei fefe.

Geschrieben in PHP 2 Kommentare

php-resource.de

Geschrieben am 18. Dez 2009 von Cem Derin

Ich wollte mal darauf hinweisen, dass ich seit einiger Zeit als Moderator und seit noch viel längerer Zeit als Nutzer im Forum von php-resource.de unterwegs bin! Ich würde mich freuen, evtl. ein paar von euch dort begrüßen zu können. Derzeit kann man alle Leute, die etwas auf dem Kasten haben und dort regelmäßig aktiv sind an zwei Händen abzählen. Wäre toll, wenn sich das ändern würde =)

Geschrieben in Allgemein, PHP Ein Kommentar

Zend Framework Umfrage

Geschrieben am 17. Dez 2009 von Cem Derin

Wer das Zend-Framework genau so exzessiv wie ich einsetzt und sich damit auch mehr oder weniger in einer Art Abhängigkeit bugsiert, der sollte sich mal schleunigst zum Zend Framework Survey for 2009 bewegen und die Fragen beantworten. Aus den Antworten erhoffen sich die Entwickler ein besseres Verständnis davon, wie das ZF an der Front engesetzt wird. Und für ein bisschen ansporn sorgt dann natürlich auch noch die verschwindend geringe Möglichkeit der glückliche Gewinner des neuen iPod-Touch zu werden, der unter den Teilnehmern verlost wird – man kann aber auch anonym teilnehmen.

Geschrieben in Allgemein, PHP Ein Kommentar

Von Eastereggs und wie man sie verstecken kann

Geschrieben am 16. Dez 2009 von Cem Derin

Uns Entwicklern wird oftmals abgesprochen, dass wir Kreativ sind. Das erkennt man leider schon oft daran, dass in den meisten Agenturen zwischen „Kreativen“ und „Entwicklern“ unterschieden wird. Dabei ist das alles andere als Gerechtfertigt. So verstehen wir unser Handwerk ebenfalls als eine „Kunstform“, erkennen in schönem Code Ästhetik, wo das ungeschulte Auge nur wirre Zeichenfolgen sieht. Investieren wir doch viel Liebe und Herz in den Aufbau und die Gestaltung unserer Applikationen ist es letztlich am Ende für den Anwender doch nur ein Werkzeug. Mich persönlich stimmt es dann und wann traurig, wenn der Betrachter das Kunstwerk, das man geschaffen hat nicht würdigt – oder würdigen kann. Aber daran wird man wohl auch nie etwas ändern können: Das was für die meisten an Software „schön“ ist, ist in der Regel nicht einmal die Software selbst sondern eben das, was die „Kreativen“ dazu beigetragen haben.

All das soll mich aber nicht daran hindern, meine Signatur unter das zu setzen, was ich schaffe. Damit meine ich nicht meinen Namen in den Kommentaren, damit meine ich auch nicht, dass ich ans Dokumentende ein pubertäres „hacked together by Cem Derin“ klatsche. Oftmals ist das ja auch gar nicht möglich. Nein, ich meine, dass ich meine Handschrift so hinterlasse, dass Sie zwar Sichtbar ist – aber trotzdem auch Unsichtbar. Dazu bediene ich mich dem, was gemeinhin als „Easteregg“ bekannt ist. So stelle ich sicher, dass meine Software von den Leuten gewürdigt werden kann, die dazu auch in der Lage sind.

Viele Seiten beinhalten einen kleinen Scherz, einen Kommentar, einen Witz oder ähnliches, wenn man bestimmte Tastenkombinationen auf einer Seite betätigt. Das hat den Nachteil, das ein gewisser Anteil JavaScript nachgeladen werden muss und man ggf. auch Resourcen einbettet, die kein Mensch freigegeben hat. Da man sowas natürlich auch nicht mit seinem Gewissen vereinbaren kann, hatte dies zur Folge, dass meine Eastereggs so versteckt waren, dass sie keiner Gefunden hat.

Irgendwie hat auch das geschlaucht. Da gab es dann aber noch eine andere Möglichkeit, wie man ein Easteregg unterbringen kann: ASCII-Art. Obwohl, nicht direkt. Im Grunde meine ich nur das hinzufügen von zusätzlichem Whitespace. Man verändert den Inhalt nicht, sondern lediglich die Formatierung, so dass dem Betrachter eine Botschaft ohne jegliche Nebenwirkungen übermitteln kann.

Dazu habe ich ein kleines Programm geschrieben, dass zwar noch alles andere als ausgereift ist, aber seinen Zweck trotzdem schon erfüllt. Zu finden ist es hier. Und wer sich nun fragt, was das Ding macht – der schaue sich den Quelltext dieses Beitrags an =)

Übrigens: Die Textbasis ist derzeit die, die ihr hier grade lest. Das wird sich aber bald ändern. Außerdem stehen die Einstellungsmöglichkeiten noch nicht zur Verfügung – denn um ein halbwegs zufrieden stellendes Ergebnis zu erzielen, muss man ganz schön den Parametern rumjustieren.

Workshop: Brawler – Host scannen, Teil 5

Geschrieben am 15. Dez 2009 von Cem Derin

Zuvor:

  1. Workshop: Brawler – The Web Application Security Scanner, Teil 0
  2. Workshop: Brawler – Eine Frage der Lizenz, Teil 1
  3. Workshop: Brawler – Alles im Rahmen, Teil 2
  4. Workshop: Brawler – Not unplugged, Teil 3
  5. Workshop: Brawler – Der Rutengänger, Teil 4
  6. Workshop: Brawler – Code Review, Teil 5

Heute beginne ich mit einer der Kernfunktionen von Brawler: Das scannen eines Hosts bzw. eine Seite. Außerdem werde ich heute die Plugin-Schnittstelle implementieren, damit man Brawler direkt mit neuen Funktionen versehen werden kann. Für heute wird das lediglich das setzen eines eigenen User-Agents sein.


// mehr lesen

theme von mir, software von wordpress, grid von 960 grid system. funktioniert in allen browsern, aber der safari bekommt das mit der schrift am schönsten hin.