Zend_DB: Datenbankverbindungen mit Zeichensatz UTF-8

Ein leidiges Problem im Webdevelopment sind die verschiedenen Zeichensätze. Viele Anbieter von Datenbanken setzen latin-1 als Standard, was gerade bei Seiten, die sich voll international ausrichten wollen, ein wenig Probleme bereiten kann. Oft führt das zu defekten Ausgaben. In diesem Beitrag möchte ich ein paar Lösungen für das Problem aufzeigen und zum Schluss die Lösung anhand des Zend Framework kurz zeigen. Für die Extension mysql kann man natürlich einfach mittels:...

Export in den Webroot des Apache Webservers per Post-Commit von Subversion

Seit ein paar Tagen setze ich mich wieder intensiv mit dem Zend Framework auseinander und bastle an einer Applikation. Um meine Änderungen einfach nachzuverfolgen habe ich mir ein Subversion-Repository auf meinem Server eingerichtet. Um in verschiedenen Testumgebungen die Applikation testen zu können, soll diese automatisch in einen Webroot “deployed” werden. Hierzu habe ich ein kleines Skript geschrieben, welches sind an den post-commit-Mechanismus von Subversion hängt und darüber den Export steuert....

Installation von nginx mit PHP auf Gentoo

Seit einigen Tagen habe ich einen neuen Root-Server, der meine Webseite ausliefern soll. Da ich ein bisschen experimentierfreudig bin, habe ich mich zur Installation des Webservers nginx  (sprich engine-x) entschlossen, da dieser in vielen Benchmarks noch schneller als lighttpd ist und gleichzeitig weniger RAM verbraucht. Gleichzeitig sind aber die Rewrite-rules einfacher als beim lighttpd  , da diese fast 1:1 vom Apache zu übernehmen sind (was den Umzug der Seiten deutlich einfacher gestaltet)....

Zend Certified Engineer - PHP 5.3

Anfang August habe ich mein erstes Zertifizierungsexamen bei Zend  gemacht und ich wurde nicht enttäuscht. Die Zertifizierung war ein Beta-Examen für die Programmiersprache PHP in der Version 5.3, wozu ich von Zend eingeladen worden bin. Besteht man diesen Test, so ist man Zend Certified Engineer  und kann sich in die gelben Seiten von Zend  eintragen lassen. Durchgeführt wurde es von Pearson Vue  im Auftrag von Zend bei Addon Systemhaus  GmbH in Walldorf....

Short Conditional If-Anweisungen in PHP

PHP bietet eine schnelle möglichkeit um schnelle Bedingungsanweisungen auszuführen. Sogenannte “Short Conditional if-Anweisungen” erlauben If-Abfragen schneller zu schreiben. Diese Art wird auch Trinitäts-Operator genannt. 1 (bedingung) ? true: false; Die Bedingung wird im prinzip wie bei einer “normalen” if-Anweisung definiert. Daraufhin wird mit “true”, angegeben, was geschehen soll, wenn die Bedingung erfüllt ist. False gibt das jeweilige Ereignis an, welches eintritt, wenn die Bedingung nicht erfüllt wurde. Ein Beispiel: 1 2 3 4 <?...

PHP und CouchDB - Wie verbinde ich diese beiden Welten?

In den letzten Tagen habe ich ein wenig mit CouchDB herumgespielt und mich ein bisschen dazu eingelesen. Dabei wollte ich vor allem wissen, wie ich CouchDB mit PHP  verbinden kann. CouchDB selbst stelle eine RESTful HTTP/JSON API bereit, was jedoch im Quellcode nicht wirklich komfortable ist und nach einem Wrapper schreit. Seitens PHP gibts es derzeit noch keine Erweiterung, die diese API kapselt, eine entsprechende PECL-Extension ist jedoch schon in Arbeit  ....

eGroupWare und Funambol zur zentralen Verwaltung von Kontakten, Aufgaben und Terminen nutzen.

Heute habe ich ein wenig mit eGroupware  und Funambol  herumexperimentiert. Schlussendlich habe ich nun eine vollständige Syncronisation von allen Kontakten, Aufgaben und Terminen geschafft. Mittels Funambol kann auf Microsoft Outlook®, Thunderbird®, Windows Mobile® PDA, IPod® oder auch auf Java-Fähige Handys gesynct werden. Zunächst muss eGroupware heruntergeladen und installiert werden. Die Installation von eGroupWare ist etwas tricky, wenn es hierzu ein weiteres Tutorial benötigt, kann ich eins schreiben, dies ist jedoch momentan nicht der Fokus meines Beitrags....

HLStatsX auf einem "blanken" Server installieren

Heute blogge ich mal wieder kürzer ;) Daher mal ein kurzer Beitrag zu HLStatsX  , was ich vorgestern auch direkt nach HLstats installiert hatte. An sich funktioniert die Installation auch genau so (wie hier auch schon beschrieben) wie die Installation von HLStats. Die Installation ist am besten hier  beschrieben. Eigentlich ist dem nichts hinzuzufügen :) HLStatsX ist gegenüber HLStats stark erweitert worden, so kann man nun z.B. seine akutellen Stats in einer Forensignatur anzeigen lassen oder die Spieler auf einer GooGle-Map geographisch positionieren lassen....

Zend Framework 1.8 ist erschienen

Nach dem Preview Release vor einigen Wochen ist gestern nun die finale Version 1.8 des Zend Framework  im SVN von Zend  erschienen. Wie immer sind einige neue Features hinzugekommen und einige Bugs gefixed worden, die gesamte Liste ist hier  zu finden. Diese Features sind die wichtigsten Neuerungen gegenüber 1.7.*: Zend_Tool (von Ralph Schindler  ) Zend_Application (von Ben Scholzen  and Matthew Weier O’Phinney  ) Zend_Loader_Autoloader und Zend_Loader_Autoloader_Resource (von Matthew Weier O’Phinney  ) Zend_Navigation (von Robin Skoglund und Geoffrey Tran, Zym) Zend_CodeGenerator (von Ralph Schindler  ) Zend_Reflection (von Ralph Schindler and Matthew Weier O’Phinney  ) Zend Server Backend für Zend_Cache (von Alexander Veremyev) Zend_Service_Amazon_Ec2 (von Jon Whitcraft  ) Zend_Service_Amazon_S3 (von Justin Plock und Stas Malyshev  ) Zend_Filter_Encrypt (von Thomas Weidner  ) Zend_Filter_Decrypt (von Thomas Weidner  ) Zend_Filter_LocalizedToNormalized and _NormalizedToLocalized (von Thomas Weidner  ) Unterstützung für Upload-Fortschrittsanzeige in Zend_File_Transfer (von Thomas Weidner  ) Routen mit Übersetzungsunterstützung (von Ben Scholzen  ) Zend_Json Unterstützung für Ausdrücke (von Benjamin Eberlei und Oscar Reales) Zend_Http_Client_Adapter_Curl (von Benjamin Eberlei) SOAP Ein- und Ausgabeheader-Unterstützung (Von Alexander Veremyev) Unterstützung für das Schlüsselwort-Feld unter Benutzung von Anfragestrings (Von Alexander Veremyev) Unterstützung für die Suche über mehrere Indexes in Zend_Search_Lucene (Von Alexander Veremyev) Deutliche Verbesserungen der Hervorhebung von Suchergebnissen Zend_Search_Lucene (Von Alexander Veremyev) Unterstützung für Skalierung, Verschiebung und Verdrehung von Seiten in Zend_Pdf (Von Alexander Veremyev) Locale Unterstützung in Zend_Validate_Int und Zend_Validate_Float (von Thomas Weidner  ) Zend_Tag_Cloud (von Ben Scholzen  ) Phonecode Unterstützung in Zend_Locale (von Thomas Weidner  ) Zend_Validate_Db_RecordExists and _RecordNotExists (von Ryan Mauger) Zend_Validate_Iban (von Thomas Weidner  ) Zend_Validate_File_WordCount (von Thomas Weidner  ) Zend_Application  und Zend_Tool  sind für mich die wichtigsten Änderungen, alle anderen Addons sind aber auch bemerkenswert....

Zend Framework: Dojo Dialog dijit in Zend_Dojo

Derzeit gibt es keinen Support für das Dialog dijit von Dojo in Zend_Dojo  . Matthew Weier O’Phinney (Project Lead Zend Framework) hat auf der Maillingliste einen Workaround gepostet, sofern $content schon vorher gefüllt wurde: 1 2 3 4 5 6 7 8 9 10 11 <? $this->dojo()->requireModule('dijit.Dialog'); $this->onLoadCaptureStart(); ?> function() { var dialog = new dijit.Dialog({ title: "Cool dialog", style: "width: 300px;", content: <? echo $content ?> }); dialog.show(); } <?...