Archive for Oktober, 2010
Schämt euch am 3. November!
Cem Derin, der php hacker, ruft am 3.11.2010 zum Developers Shame Day auf. Jeder Programmierer möge doch bitte an diesem Tag seinen ältesten und beschämensten Code publizieren, für den man sich und Grund und Boden schämen muss. Die Programmiersprache ist dabei egal.
Bin gespannt was dabei herum kommt, ich werde auch mal schauen ob ich noch ein paar alte Fragmente aus grauer Vorzeit finde, im Artikel Alter Code und das Grausen hatten wir ja bereits einige alte Zeilen Code gesehen.
Frühzeitig Memory Limit Probleme entdecken
Vorausschauendes oder defensives Programmieren wird häufig vernachlässigt. Man geht allzu häufig davon aus, dass die Umgebung immer die selbe ist und wenn es einmal funktioniert, dann funktioniert es immer. Zum defensiven Programmieren gehört aber nicht nur, alle möglichen Fälle von Parametern abzufangen die jemand in eine Methode reinstopfen könnte, sondern auch die Prüfung der Webservereigenschaften. Denn wer weiß, ob das Projekt in einigen Monaten oder Jahren nicht auf einen anderen Webserver (z.B. IIS -> Apache) umgezogen wird, oder bei der Installation einer neuen PHP-Version vergessen wurde, die php.ini korrekt anzupassen.
Häufig gibt es aus diesem Grund in einem Initialisierungsscript oder einer Bootstrap-Datei Prüfungen zur verwendeten ZendFramework-Version, PHP-Version, register_globals, magic_quotes_gpc, memory_limit usw. Diese sind recht einfach zu schreiben (häufig Dreizeiler), und ich möchte hier noch eine weitere kleine Prüfung vorstellen die sicherlich die wenigsten haben.
Es geht um das Memory-Limit, also den maximalen Speicherverbrauch eines PHP-Scriptes. Diesen kann man auf 3 verschiedene Arten setzen:
Weiterlesen »
Der Download, der sich selbst löscht
Manchmal kann es nützlich sein dass eine Datei nur einmal heruntergeladen werden kann und dann gelöscht wird, weil sie nicht mehr benötigt wird und nur Platz verschwendet. Bietet man die Datei direkt zum Download an (sprich eine direkte URL zur Datei), dann liefert der Webserver die Datei auch auch an den Browser, aber sie wird nicht gelöscht sobald der Download beendet wurde.
Ich möchte hier ein paar Beispiele sammeln, die dies möglich machen, auf möglichst einfache Art und Weise. Auf die Idee gekommen bin ich bei der Recherche zur Frage, ob ein PHP-Script sich selbst löschen kann, denn ich hatte mich schon immer gefragt ob das geht und wenn ja, warum das nicht gemacht wird bei WordPress-Installationen zum Beispiel, denn dort muss man nach der Installation immer manuell die install.php umbenennen oder löschen.
Lösung 1:
Hier ein kleines PHP Script, das eine Datei zum Download anbietet und nach erfolgtem Download die Datei und sich selbst löscht.
Weiterlesen »
Eindrücke der aktuellen PhpStorm IDE Vorschau
Aktuell steige ich auf eine neue IDE um, und ich möchte euch ein paar Einblicke der Vorzüge und Features geben, die ich an Eclipse PDT vermisst habe und nun gefunden habe.
Ich benutze seit einigen Wochen PhpStorm von JetBrains und muss sagen dass es mir deutlich besser gefällt als PDT. PDT habe ich nun 3 oder 4 Jahre genutzt, und es hat mir gute Dienste geleistet, aber PhpStorm kann einiges mehr. Nur um schon mal ein paar zu nennen, weitere zeige ich unten: sehr guter git Support, ein wirklich cooler Code Inspector (vergleichbar mit dem Zend Studio Inspector), „richtiges“ Refactoring (auch Code Kommentare werden angepasst), ordentlicher FTP/SFTP Support und Synchronisation, mit „Find Usages“ alle Stellen suchen die eine bestimmte Funktion aufrufen und einiges mehr.
Erleuchtend ist auch die Feature-Liste der Version 1: http://www.jetbrains.com/phpstorm/features/index.html und die Roadmap für 2.0. Durchlesen und Bilder angucken, unglaublich wie viele kleine aber sehr hilfreiche Funktionen da drinstecken. Und in Version 2.0 werden noch viele Sachen dazukommen.
Weiterlesen »