Versionsnummern und deprecated
Die CakePHP Entwickler empfehlen immer einen Blick in die API, wenn man eine Funktion benutzen will. Dies ist, in Zeiten wo tempdocs noch nicht auf dem aktuellen Stand sind, und auch sonst eigentlich, nie verkehrt. Allerdings führt es manchmal zu Problemen, wenn man nicht immer die neuste Version benutzt.
Beispiel gefällig?
Die aktuelle auf der CakePHP Seite downloadbare Version der 1.2 Serie ist 1.2.0.5875 pre-beta (October 22, 2007). Die aktuelle API ist jedoch bereits auf dem Stand von 1.2.0.6053. Wo genau gerade die Tempdocs stehen ist mir nicht bekannt
Folgendes ist mir nun passiert: Laut der API für die Cake 1.2 Version ist das beliebte $this->cleanUpFields(), was aus $this->form->dateTime() Werten einen datetime String baut, den man schön in der DB abspeichern kann, deprecated. Dies ist schon etwas verwunderlich, da diese Funktion erst bei 1.2 ihren Einstand feierte, aber man hat sich dabei wohl etwas gedacht. Die neue Funktion, die cleanUpFields ersetzt, nennt sich deconstruct und wird per Model::deconstruct($field,$data) aufgerufen. Leider ist diese Funktion aber noch nicht in der aktuell verbreiteten 1.2.0.5875 Version implementiert. Das Dilemma dürfte nun offensichtlich sein. Einerseits möchte man keine deprecated Elemente verwenden, andererseits hat man, wenn man nicht den letzten SVN hat, nicht die Funktion, die dort beschrieben ist.
Fazit: In einem so im Fluss befindlichen Framework wie CakePHP ist es manchmal schwer, den Überblick über die Funktionen zu behalten.
Kategorie: CakePHP | 1 Kommentar »
Veröffentlicht am Mittwoch, den 28. November 2007 um 10:43 Uhr veröffentlicht
Du kannst einen Kommentar schreiben, oder einen Trackback auf deiner Seite einrichten.
