Doctrine bringt ab Werk ein paar sehr mächtige Attribut-Validatoren auf Anwendungsebene mit, die aber im Symfony-Kontext nur für zusätzlichen Overhead sorgen und gleichzeitig nicht ganz so fein granuliert sind wie bspw. ein entsprechender sfValidator. Wie man Doctrine auf Projektebene konfigurieren und bspw. das Validation-Feature abschalten kann, zeigt das folgende Listing.
Etwas untergegangen: Propel 1.4 is raus
… und hier gibt’s ein Changelog: http://propel.phpdb.org/trac/wiki/Users/Documentation/1.4/WhatsNew
Continue reading “Etwas untergegangen: Propel 1.4 is raus”
sunrise, sunset, sunrise, sunset, sunrise, sunset
Ist doch schön wenn einen die Lieblings Programmiersprache nach all den Jahren noch überraschen kann.
…nein, die Rede ist nicht von JS.
Dass PHP Sonnenauf- bzw. untergangszeiten ausgeben kann wusste ich bisher nicht.
date_sunrise und date_sunset heissen die beiden Funktionen.
/* calculate the sunset time for Lisbon, Portugal Latitude: 38.4 North Longitude: 9 West Zenith ~= 90 offset: +1 GMT */ echo date("D M d Y"). ', sunset time : ' .date_sunset(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);
coole Sache, wie ich finde. Continue reading “sunrise, sunset, sunrise, sunset, sunrise, sunset”
Symfony 1.2 Admin Generator Features
Doctrine – Accessoren & Mutatoren
Also erstens, damit man die Doku versteht: Mutatoren sind natürlich “Setter” (setFirstname(string name)), Accessoren “Getter” (getFirstname()). Doctrine ermöglicht es auf vielfältige Weise, Attribute eines OR-Objekts programmatisch zu erfragen bzw. zu verändern. Da jede Instanz von Doctrine_Record letztlich die abstrakte Elternklasse Doctrine_Access implementiert, wird der Zugriff und alle Änderungen durch die (magischen) PHP-Methoden __get(), __set() und __call() koordiniert. Zusätzlich bietet Doctrine eine Konfiguration, die es ermöglicht, jede Änderung an einem Objekt einem optionalen, zentralen Methodenaufruf zuzuleiten, der dann als eine Art Interzeptor fungiert.
Netbeans 6.8 kommt mit PHP 5.3 & Symfony-Support
[…]
Die PHP-Integration schließt jetzt das Symfony-Framework und Version 5.3 der Skriptsprache ein. Verbesserungen soll es unter anderem bei den Werkzeugen für Ruby, Groovy und C/C++ geben. Die Beta von Netbeans 6.8 steht auf der Website des Projekts für Windows, Linux, Solaris, OS X und als plattformunabhängige Variante zur Verfügung. Ende Dezember 2009 soll die Software fertig sein.
Via Heise Developer
Behave, baby!
Doctrine macht es dem Entwickler leicht, seine Object-Models mit Businesslogic anzureichern. Entsprechende Methoden an der Doctrine_Record- – oder allgemeiner – an einer entsprechenden Doctrine_Table-Kindklasse zu verdrahten ist ein Kinderspiel. Irgendwann trifft man dann auf einen Anwendungsfall, der eine entsprechende Zusatzfunktionalität erfordert, ohne dass das “Tätigkeitsfeld” dieser Funktionalität auf nur eine Gruppe von Entitäten zu begrenzen wäre. Anstatt nun die immer gleichen Methoden für alle seine Object-Models, die die neue Funktionalität benötigen, zu implementieren und damit ziemlich viel Code zu produzieren, möchte man lieber das ORM-Framework selbst erweitern. Auch hierfür bietet Doctrine die entsprechenden Schnittstellen: Einen Eventdispatcher zusammen mit ziemlich viele Stellen im Code, denen man “zuhören” kann und das Konzept der Behaviours (dt. etwa Verhaltensmuster): Oh behave!
Tiny URLs mit PHP und der tinyurl API
für den Fall dass ich nicht der einzige bin, der das bis vorhin nicht wusste:
tinyurl.com hat auch eine API.
Die ist zwar unglaublich simpel, aber das ist doch auch mal schön.
$tinyURL = file_get_contents( 'http://tinyurl.com/api-create.php?url='.$tooLongURL );
und vice versa (hackish):
function reverse_tinyurl($url){ // Resolves a TinyURL.com encoded url to it's source. $url = explode('.com/', $url); $url = 'http://preview.tinyurl.com/'.$url[1]; $preview = file_get_contents($url); preg_match('/redirecturl" href="(.*)">/', $preview, $matches); return $matches[1]; }
PHP debug Ausgaben in Ajax Responses mit FirePHP
eine weitere Supererweiterung für Firebug ist meiner Meinung nach FirePHP.
Das Tool ermöglicht PHP (debug)Ausgaben direkt an die Firebug Konsole zu schicken: Continue reading “PHP debug Ausgaben in Ajax Responses mit FirePHP”
Symfony flying with Lighttpd on Mac OS X 10.6
This guide aims to Mac OS X 10.6 users who intend to run their Symfony 1.2 projects on Lighttpd with PHP 5.3 and MySQL5. Steps described in this article refer to a development machine setup and do not consider any security related configurations necessary for a production setup.
Why?
Why would I want to use Symfony with Lighttpd (Lighty) instead of Apache?
- It is light – as the name tells already.
Continue reading “Symfony flying with Lighttpd on Mac OS X 10.6”