Montag, 31. Januar 2005
PHP Anwendungen als Service unter Windows
Geschrieben von Harald Lapp in PHP um 21:24
Unter Linux/Unix ist es kein Problem ein PHP Script als Dämon zu entwickeln und als Hintergrundprozess zu verwenden. Schwieriger gestaltet sich das unter Windows. Wez Furlong hat nun eine Erweiterung für PHP entwickelt, mit der es möglich ist PHP Anwendungen über den Service Control Manager (SCM) von Windows als Dienst zu starten.
Sehr interessant und sehr nützlich.
Sehr interessant und sehr nützlich.
Freitag, 28. Januar 2005
FreePascal - Version 2.0 kommt
Geschrieben von Harald Lapp in Programmierung um 14:09
Die Version 2.0 des freien cross platform Compilers FreePascal steht in den Startlöchern. Ein Release Candidate mit der Versionsnummer 1.9.6 wurde vor ein paar Tagen veröffentlicht und verspricht 100%ige kompatiblität zu bestehenden (Borland)Pascal und Delphi Projekten.
Ich habe früher sehr gerne in Turbo- bzw. Borland Pascal entwickelt, habe es jedoch mit den Jahren etwas aus den Augen verloren. Mir gefällt auch heute noch das Sprachdesign und die damit verbundenen Möglichkeiten von Pascal sehr gut. Deshalb überlege ich derzeit ob ich mich wieder mehr damit befassen soll - das würde für mich aber nur Sinn machen, wenn man auch wirklich cross platform GUI Applikationen entwickeln kann.
Für Linux und Windows scheint das kein Problem zu sein - bzw. habe ich das selbst vor ein paar Jahren in Verbindung mit GTK schon getan. Lazarus verspricht dies sogar noch komfortabler zu machen und ein Programm - relativ - unabhängig vom einzusetzenden GUI Toolkit zu halten.
Allerdings tue ich mich im moment noch etwas schwer Informationen zu finden, was die GUI Programmierung unter Mac OS X angeht.
Ich habe früher sehr gerne in Turbo- bzw. Borland Pascal entwickelt, habe es jedoch mit den Jahren etwas aus den Augen verloren. Mir gefällt auch heute noch das Sprachdesign und die damit verbundenen Möglichkeiten von Pascal sehr gut. Deshalb überlege ich derzeit ob ich mich wieder mehr damit befassen soll - das würde für mich aber nur Sinn machen, wenn man auch wirklich cross platform GUI Applikationen entwickeln kann.
Für Linux und Windows scheint das kein Problem zu sein - bzw. habe ich das selbst vor ein paar Jahren in Verbindung mit GTK schon getan. Lazarus verspricht dies sogar noch komfortabler zu machen und ein Programm - relativ - unabhängig vom einzusetzenden GUI Toolkit zu halten.
Allerdings tue ich mich im moment noch etwas schwer Informationen zu finden, was die GUI Programmierung unter Mac OS X angeht.
Donnerstag, 27. Januar 2005
PHP Frameworks - Prado
Geschrieben von Harald Lapp in PHP um 06:34
Prado macht weiterhin rasante Fortschritte. Mit dem nun veröffentlichten Release Candidate der Version 2.0 unterstützt Prado die sehnlichst erwartete Internationalisierung (i18n) und Lokalisierung (l10n) von Projekten. Das Framework unterstützt dabei sogar mehrere Möglichkeiten:
Internationalisierte Texte können wahlweise in einem XML Format (XLIFF), im gettext Format oder in einer MySQL oder SQLite Datenbank abgelegt werden.
Komponenten wie
Ein Tutorial zum neuen Feature i18n/l10n kann hier eingesehen werden.
Ich bin eigentlich recht angetan von Prado. Ich bin beeindruckt, wie schnell die Entwicklung vorangeht und wie sehr die Entwickler auf Vorschläge aus der Gemeinschaft eingehen und diese in der Weiterentwicklung des Frameworks berücksichtigen.
Internationalisierte Texte können wahlweise in einem XML Format (XLIFF), im gettext Format oder in einer MySQL oder SQLite Datenbank abgelegt werden.
Komponenten wie
<com:TDateFormat ...> zur Formatierung eines Datums oder <com:TNumberFormat ...> zur Formatierung von Zahlen und Währungen wurden so erweitert, daß sie über einen Lokalisierungsparameter in das gewünschtes Format eines bestimmten Landes umgewandelt werden können. Damit ist es mit Prado glücklicherweise möglich ein Template für unterschiedliche Länderversionen zu verwenden. Ein Tutorial zum neuen Feature i18n/l10n kann hier eingesehen werden.
Ich bin eigentlich recht angetan von Prado. Ich bin beeindruckt, wie schnell die Entwicklung vorangeht und wie sehr die Entwickler auf Vorschläge aus der Gemeinschaft eingehen und diese in der Weiterentwicklung des Frameworks berücksichtigen.
Dienstag, 25. Januar 2005
PHP API zum Zugriff auf Audio- und Videodateien
Geschrieben von Harald Lapp in PHP um 10:39
FFMPEG-PHP ist eine Erweiterung für PHP, die eine objektorientierte API zum Zugriff auf Video- und Audiodateien bietet um Informationen und - bei Videodateien - Frames zu extrahieren.
Montag, 24. Januar 2005
PHP Database Abstraction Layer
Geschrieben von Harald Lapp in PHP um 17:14
Mit Creole steigt ein weiterer Kandidat in den Ring der Datenbank Abstraktions Schichten. Eigentlich hatte ich mich schon mit ADOdb angefreundet. Vor allem daß es für ADOdb eine PHP Erweiterung in C gibt, gefällt mir gut. Allerdings wartet Creole mit einigen interessanten Features auf, wie eine einheitliche Typisierung, die auf JDBC basiert. Außerdem basiert Creole auf PHP5 und es gibt ein paar nette Projekte, die auf Creole aufsetzen und dessen Funktionsumfang erheblich erweitern.
PHP Distributed Memory Cache
Geschrieben von Harald Lapp in PHP um 17:01
memcached is a high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.
Zu dieser Software gibt es auf dieser Seite eine PHP Erweiterung. Memcached wird erfolgreich auf großen Community-Sites wie livejournals.com und slashdot.org eingesetzt, um Anfragen an die Datenbank zu reduzieren und somit die Datenbanklast zu senken und die Performce der Applikation zu steigern.
Klingt sehr interessant.
PHP und Templates
Geschrieben von Harald Lapp in PHP um 16:41
Schon vor einigen Jahren erschien auf der Seite phppatterns.com ein interessanter Artikel zum Thema PHP und Templates, in der über den Sinn zur Verwendung von Template-Systemen in Verbindung mit PHP diskutiert wurde. Das - meiner Ansicht nach - richtige Hauptargument dort: PHP selbst ist schon eine Template Engine.
Jeder, der schon einmal eine eigene Template Engine entwickelt hat, oder auch ein bestehendes System wie z.b. Smarty verwendet hat, sollte einmal einen Blick auf diesen Artikel und die Argumente dort werfen. Ich selbst habe mehrere Template Systeme entwickelt und habe mich erst kürzlich bei einem Projekt zur Entwicklung eines CMS' wieder an den Artikel erinnert, als ich nämlich begann einen komplett neuen Interpreter inkl. PHP Converter zu entwickeln. Zwei berechtigte Fragen, die dabei auftauchten:
Natürlich ist es unbedingt notwendig die Programmlogik von der Ausgabe zu trennen. Daß dies aber auch anders funktioniert, zeigen Template Engines wie Savant, die PHP selbst als Templatesprache verwenden.
Jeder, der schon einmal eine eigene Template Engine entwickelt hat, oder auch ein bestehendes System wie z.b. Smarty verwendet hat, sollte einmal einen Blick auf diesen Artikel und die Argumente dort werfen. Ich selbst habe mehrere Template Systeme entwickelt und habe mich erst kürzlich bei einem Projekt zur Entwicklung eines CMS' wieder an den Artikel erinnert, als ich nämlich begann einen komplett neuen Interpreter inkl. PHP Converter zu entwickeln. Zwei berechtigte Fragen, die dabei auftauchten:
- Kann man Menschen zumuten, eine Templatesyntax wie die von Smarty oder eine vergleichbare zu erlernen, wenn man eben diesen nicht zutraut mit der Syntax von PHP zurecht zu kommen?
- Ist es Sinnvoll das Rad neu zu erfinden?
Natürlich ist es unbedingt notwendig die Programmlogik von der Ausgabe zu trennen. Daß dies aber auch anders funktioniert, zeigen Template Engines wie Savant, die PHP selbst als Templatesprache verwenden.
Montag, 17. Januar 2005
PHP Frameworks
Geschrieben von Harald Lapp in PHP um 11:02
Mittlerweile gibt es einige sehr interessante Frameworks für PHP. Drei der für mich interessantesten sind:
Jedes dieser Frameworks nimmt von sich in Anspruch besonders leicht zu erlernen zu sein - natürlich. Ich werde das zu schätzen wissen, wenn ich eines dieser Frameworks für zukünftige Projekte verwenden werde
.
Eine Liste weiterer PHP Frameworks kann unter diesem Link gefunden werden.
- Studs begann als Port des in der Java Welt sehr verbreiteten MVC Frameworks Jakarta Struts. Mittlerweile ist es viel mehr als das. Studs bietet eine objekt orientierte API, einen HTTP Servlet Container, sowie eine Server Pages Engine für PHP.
- Prado ist ein Komponenten- und Ereignisbasiertes Framework. Das Entwickeln einer Anwendung mit Hilfe von Prado ähnelt der Entwicklung von Anwendungen mit Hilfe von RAD Toolkits wie z.b. Delphi und Visual Basic: das Verwenden und Konfigurieren von Komponenten, sowie das Reagieren auf die durch Komponenten ausgelösten Ereignisse. Prado ist der Gewinner des Zend PHP5 Coding Contest
- Kong42 ist ein ereignisorientiertes Framework, welches bei der Weiterentwicklung der Online Platform von VIVA TV entstand und dort u.a. als Basis der Community Tools dient.
Jedes dieser Frameworks nimmt von sich in Anspruch besonders leicht zu erlernen zu sein - natürlich. Ich werde das zu schätzen wissen, wenn ich eines dieser Frameworks für zukünftige Projekte verwenden werde
Eine Liste weiterer PHP Frameworks kann unter diesem Link gefunden werden.




