Creole und PHP 5.2.4 verstehen sich nicht

Geschrieben von Dejan Spasic • Monday, 17. September 2007 • Kategorie: PHP , SymfonyKommentare (0)

In einem Artikel Warning about PHP 5.2.4 and Creole wird der Einsatz von Creole in Verbindung mit der PHP Version >= 5.2.4 gewarnt. Dadurch das der PHP Bug #41964 gefixed wurde, funktioniert die Methode MySQLResultSet::getTimestamp nicht mehr so wie gedacht. Hat z.B. die Spalte den Wert 0000-00-00 00:00:00, liefert strtotime nun false zurück. Vor der aktuellen PHP Version wurde 943905600 zurückgegeben, was als Datum 1999-11-30 entspricht. Wie dem auch sei, dadurch das false zurückgegeben wird, wird dementsrprechen eine Ausnahme geworfen.

Der Author empfiehlt diesen Hack einzufügen.

if ($this->fields[$column] == '0000-00-00 00:00:00') {
    // If the value is  ‘0000-00-00 00:00:00′, set it back to the value strtotime() returned before PHP 5.2.4
    $ts = 943916400;
}
else {
    $ts = {FNAMEL}">strtotime($this->fields[$column]);
}
 

Meiner Meinung nach, sollte zusätzlich noch nur nach das Datum ohne Uhrzeit geprüft werden.

if ($this->fields[$column] == '0000-00-00 00:00:00'
        || $this->fields[$column] == '0000-00-00') {
    // If the value is  ‘0000-00-00 00:00:00′, set it back to the value strtotime() returned before PHP 5.2.4
    $ts = 943916400;
}
else {
    $ts = {FNAMEL}">strtotime($this->fields[$column]);
}
Tags für diesen Artikel: , , ,

DBDesigner4, Phing, Propel und Symfony

Geschrieben von Dejan Spasic • Monday, 9. July 2007 • Kategorie: PHP , SymfonyKommentare (3)

Viele von euch kennen bestimmt den ER-Diagramm-Editor DBDesigner 4. Ein wunderbares Stück Software, wie ich finde. Mein Problem was ich mit DBDesigner4 in Verbindung mit Propel hatte war, dass ich nach dem erstellen des Diagramms auch die XML-Speizifikation des Datenbankschemas für den Propel-Generator erstellen musste. Das wiederrum, je nach dem wie groß das Projekt war, eine mühselige Arbeit sein konnte. Zudem trat das Problem des doppelten Inhalts auf, da, alles was in DBDesigner4 geändert wurde, auch in der XML-Spezifikation per Hand geändert werden musste. Wie man das Problem lösen kann wird hier näher beschrieben.

"DBDesigner4, Phing, Propel und Symfony" vollständig lesen

Tags für diesen Artikel: , , , ,

Neue dbd2propel.xsl veröffentlicht

Geschrieben von Dejan Spasic • Wednesday, 8. November 2006 • Kategorie: PHPKommentare (0)
Propel ORM PHP

In der Propel-Liste wurde eine neue Version vom dbd2propel.xsl veröffentlicht.

dbd2propel.xsl ist eine XSLT-Datei um eine DBDesigner4-Datei in eine für Propel eine Spezifikation des Datenbankmodells in XML zu Konvertieren. Die neue dbd2propel.xsl erkennt nun auch den Index sowie den doDelete bei Referenzen.

Tags für diesen Artikel: , ,