Too Cool for Internet Explorer

PHP Resources bei IBM developerWorks


IBM hat auf seiner Seite developerWorks, auf der viele äußerst interessante Artikel für Entwickler und Informationen zu Open Source Projekten zu finden sind, einen eigenen Bereich für PHP eingerichtet.

PHP Maguma Studio wird Open Source


Laut einem Bericht des Online News Services golem.de, plant der Software Hersteller Maguma seine PHP Enwicklungsumgebung Maguma Studio demnächst als Open Source freizugeben. Maguma Studio ist der Vorgänger der Maguma Workbench, die im Moment in der Version 2.2 vorliegt.


PHP, Apache und FastCGI


Timo Gmell hat eine Anleitung zum Installieren und Konfigurieren von PHP4 bzw. PHP5 in Verbindung mit FastCGI veröffentlicht.

Warum FastCGI?

Die Installation von PHP Mittels mod_php bringt zwar im Vergleich zu PHP-CGI erhebliche Geschwindigkeitsvorteile mit sich, hat aber auch mehrere Nachteile. So werden PHP Scripte mit dem Apache User ausgeführt wodurch verhindert wird, daß in über den FTP Benutzer angelegte Dateien und Verzeichnisse, die keine Schreibberechtigung für Andere Benutzer besitzen, geschrieben wird. Ein weiterer gravierender Nachteil und eine Sicherheitslücke ist, daß u.U. ein virtueller Host die Dateien eines anderen virtuellen Hosts lesen kann.

Mod_fastcgi führt PHP Prozesse mit dem User aus, der im jeweiligen virtuellen Host von Apache konfiguriert ist. Außerdem wird beim Start eine beliebige Anzahl von PHP-FCGI Prozessen geladen, die fest im Speicher verbleiben und nicht bei jedem neuen Request neu gestartet werden müssen. Die Konfiguration von PHP über FastCGI kann für einen virtuellen Host individuell eingestellt werden. So könnte man beispielsweise pro Host eine eigene php.ini Konfiguration oder sogar ein eigenes PHP Binary verwenden.

PHP Abstraktion einer Abstraktion


ActiveDBLib ist eine Abstraktionsschicht für Datenbankabstraktionsschichten...(!) ActiveDBLib möchte ein einheitliches Interface für Datenbankabstraktionsschichten zur Verfügung stellen. Im Moment werden die Schichten ADODB, Pear:DB und Metabase unterstützt.

Ich frage mich gerade, wie sinnvoll der Einsatz einer solchen weiteren Schicht ist. Wenn jetzt jemand ein ähnliches Projekt startet, können wir vielleicht bald mit einer Abstraktionsschicht der Abstraktionsschichten der Datenbankabstraktionsschichten rechnen.

Ich glaube auf diese Art von "Flexibilität" verzichte ich dann doch lieber (und wende mich wiederCreole zu).


PHP in MySQL ausführen


Ich habe mir gerade die Web Seite von David Sklar, Autor mehrerer PHP Fachbücher und Gründer und Betreiber der PHP Funktionssammlung px.sklar.com, näher angesehen und bin dabei auf folgendes Projekt gestoßen:

Myphp ist eine Benutzerdefinierte Funktion (UDF) für MySQL, die PHP Code ausführen kann. Nach der Installation von myphp lässt sich über die Funktion 'php' PHP Code direkt in einer MySQL Datenbankabfrage ausführen, wobei die Funktion wie alle anderen in MySQL eingebauten Funktionen angewendet wird. Somit kann der zu interpretierende Code entweder direkt als Funktionsparameter angegeben werden oder aber durch Übergabe des Namens einer Tabellenspalte direkt aus einer Tabelle gelesen werden.

Nett!

PHP Magazine 02.2005


Abonennten hatten gestern bereits die neue Ausgabe des internationalen PHP Magazins in ihrem Briefkasten. Besonders erwähnenswert sind sicherlich die Artikel zu drei der Siegerprojekten des PHP5 Coding Contest von Zend, die man sehr gut auch als einführende Tutorials in die Thematik und Arbeitsweise des jeweiligen Projektes ansehen kann:


  • Prado, ein objekt orientiertes, komponenten- und ereignisbasiertes Framework über das ich an anderer Stelle (hier und hier) schon berichtet habe.

  • MyObjects stellt Werkzeuge zur Entwicklung von Datenbankschemas und der Generierung von Klassen für MySQL In Verbindung mit PHP bereit. MyObjects bietet ein komfortables webbasiertes Frontend zum schnellen und automatisierten Generieren von Datenbankschemas und den daraus resultierenden Klassen bereit.

  • Hive ist eine Art Application Server für komponenten- und ereignisbasierte Web Anwendungen.




PHP Entwicklung mit jEdit


Als ich mir vor gut einem Jahr meinen ersten Mac kaufte, machte ich mich auf die Suche nach einer brauchbaren Entwicklungsumgebung für PHP - hat man unter Linux die Qual der Wahl, gestaltete sich die Suche für eine unter OSX lauffähige Software viel schwieriger. Nachdem ich eine Weile mit Eclipse arbeitete, die als Entwicklungsumgebung für Java zwar ausgezeichnet ist, für PHP aber zu komplex und auf meinem Powerbook außerdem auch etwas träge ist, stieß ich schließlich auf die Java Applikation jedit, die sich auf Grund der guten Integration von Java in Mac OSX fast wie eine native Anwendung anfühlt.

Jedit ist eine ausgereifte Entwicklungsumgebung, die seit vielen Jahren aktiv entwickelt wird. Jedit ist dank seiner Plugin Architektur hervorragend erweiterbar und individuell konfigurierbar. Der Plugin Manager erlaubt das komfortable Installieren von vielen Plugins. Natürlich bietet jedit Syntax Highlightning für viele populäre und auch weniger populärer Programmiersprachen und unterstützt selbstverständlich auch automatisches Einrücken sowie das Einfalten von Blöcken. Mittlerweile möchte ich auf jedit nicht mehr verzichten und verwende es auch an meinem Arbeitsplatz unter Linux.

Als weiterführenden Lesestoff kann ich den auf der Seite sitepoint.com erschienenen Artikel "Use jedit to edit your PHP" sehr empfehlen.


PHP Compiler für .Net


Die aktuelle Ausgabe der Zeitschrift iX beinhaltet unter anderem auch einen interessanten Artikel über Mono, die freie und platformübergreifende .Net Implementation. In dem Artikel wird auch erwähnt, daß es mittlerweile über 30 Programmiersprachen für .Net gibt. Neugierig wie ich bin, habe ich mich deshalb auf die Suche nach einem .Net Compiler für PHP gemacht.

Ich bin tatsächlich fündig geworden. Phalanger ist ein PHP Compiler für .Net, der aktiv entwickelt wird. Leider ist das Lizenzmodell sehr restriktiv: so verbietet die Lizenz eine kommerzielle Nutzung des Compilers. Für mich persönlich ist außerdem entscheidend, daß es derzeit nicht möglich ist Phalanger unter Mono zu verwenden. Nichtsdestotrotz enthält die Web Seite interessante Informationen bezüglich PHP und .Net und ist in jedem Fall einen Besuch wert.


PHP & Javascript


Googles Gmail Service sowie die Google Maps verdanken ihre komfortable Benutzerführung nicht zuletzt auch einer Methode, die es ermöglicht Daten zwischen einem Web Client und dem Server auszutauschen - nachdem eine Seite schon fertig geladen ist und ohne diese erneut komplett laden zu müssen.

Im Wiki von JSPan findet sich eine Sammlung an Informationen und Notizen zu dem Javascript Objekt XMLHTTPRequest welches einen Datenaustausch zwischen Client und Server bewerkstelligt, ohne dabei einen komplett neuen Reload der Seite zu benötigen.

JSPan ist ein Projekt welches die einfache Interaktion eines Javascript Clients mit einer PHP Serveranwendung ermöglichen soll, sodaß sich der Programmieraufwand diesbezüglich in Grenzen hält und die möglichen Fehlerquellen reduziert werden. Kurz gesagt soll es möglich sein eine Klasse in PHP zu definieren und deren Methoden auf Client Seite über Javascript aufzurufen als wären es native Methoden.

PHP Code Sammlungen


Auf der Suche nach Problemlösungen hat mir schon hin wieder "the PHP code exchange" gute Dienste geleistet. Übersichtlich in Kategorien unterteilt finden sich hier unmengen an Code Schnippsel und Funktionen zu den verschiedensten Themen.

Mein Kollege Robert hat mich gerade auf die Source Code Suchmaschine aufmerksam gemacht:

Koders is a search engine for source code. It enables developers to easily search and browse source code in thousands of projects hosted at hundreds of open source repositories.


Interessant...

PHP in der aktuellen iX


In der gestern erschienenen Ausgabe März 2005 des Magazins iX aus dem Heise Verlag gibt es einige Artikel zum Theme Datenbankprogrammierung mit PHP zu lesen. Im auch Online verfügbaren Artikel "Abstraktionsvermögen" werden die Abstraktionsschichten ADOdb, Metabase, Pear DB sowie Pear MDB vorgestellt und verglichen. Ausserdem gibt es im Heft noch einen Artikel speziell zur Datenbankprogrammierung mit ADOdb.

Ich selbst beschäftige mich seit einiger Zeit mit der Abstraktionsschicht Creole und den darauf basierenden Projekten Jargon und Propel.



PHP - A Programmer\'s Introduction to PHP 4.0


Der Verlag Apress bietet auf Grund des großen Verkaufserfolges des Titels "Beginning PHP 5 and MySQL: From Novice to Professional" von Jason Gilmore unter Angabe einer gültigen e-mail Adresse dessen Buch "A Programmer's Introduction to PHP 4.0" als ebook kostenlos zum download an.

[via The Farm]


PHP Generator für Querverweise und Source Dokumentation


PHPXRef ist ein Hilfsprogramm, das es erleichtern soll den Überblick über umfangreiche PHP Projekte zu behalten. Zu diesem Zweck kann es ein Projektverzeichnis einlesen und statische HTML Seiten aus dem Quellcode und der darin enthaltenen Dokumentation erzeugen.

PHPXRef verarbeitet Dokumentation, die im Format von phpdoc innerhalb des Quellcodes angelegt wurde. Außerdem indiziert PHPXref Klassen, Funktionen, Variablen, Konstanten und über require bzw. include eingebundene Dateien und kann so Querverweise zwischen den einzelnen Quelltexten herstellen.

So ist es beispielsweise auf einfachste Weise möglich festzustellen, in welchen Dateien eine bestimmte Funktion, Variable etc. Verwendung findet und aufgerufen wird, bzw. wo diese definiert wurde. PHPXRef bietet umfangreiche Suchmöglichkeiten innerhalb der Quelltexte und stellt diese formatiert und coloriert dar.

PHP UML Plugin für Dia


Dia ist ein Programm, ähnlich dem kommerziellen Visio, zum Erstellen von Diagrammen wie z.b. Netzwerkplänen, Programmablaufplänen und auch UML Diagrammen.

Mit uml2php gibt es nun ein Plugin mit dem es möglich ist automatisiert Source Code aus einem UML Klassen Modell für PHP5 zu generieren.

Dia ist u.a. für die Betriebssysteme Linux, Windows und Mac OS X (über die Darwinports) erhältlich.


PHP Security Consortium


Anfang Januar wurde von einem Team internationaler PHP Experten das PHP Security Consortium (PHPSC) gegründet. Ziel der Organisation ist es sicheres Programmieren unter PHP zu propagieren und Hilfsmittel für Entwickler zur Verfügung zu stellen, die das sichere Programmieren fördern sollen.

Als erste Veröffentlichung wurde ein PHP Security Guide online publiziert, der - im Moment - allerdings nur die Grundlagen sicheren Programmierens unter PHP aufzeigt.