Manchmal kann es hilfreich sein, Debug-Code direkt in der Applikation unterzubringen. Damit bei – vorsichtig zu behandelnden – Tests auf der live-Basis die parallele Nutzung nicht gestört wird, muss nach environment unterschieden werden. Manche Vorschläge im Internet liefern abstruse Methoden, dabei geht es auch einfach und kurz: sfConfig::get(‘sf_environment’) gibt einen […]
PHP
Manchmal wäre es praktisch, nicht nur mit sfForm::setDefault den dem Benutzer in einem Formularfeld angezeigten Wert festzulegen, sondern den Formularinhalt nach erfolgter Abarbeitung von xyForm::configure noch abändern zu können. symfony bietet zwar die Möglichkeit, mit sfForm::getValue die Werte nach der Validierung abzufragen, gibt aber keinen Zugriff, um die Werte vor […]
Treten solche Fehlermeldungen auf: Couldn't find constant sfGuardPermission::PEER oder Cannot fetch TableMap for undefined table: . Make sure you have the static MapBuilder registration code after your peer stub class definition. oder aber Aufrufe wie dieser scheitern # php symfony propel:build-forms >> propel generating form classes Warning: constant(): Couldn't find […]
Wenn bei der Anmeldung bei phpPgAdmin die Meldung “Anmeldung aus Sicherheitsgründen verweigert.” erscheint, liegt das daran, dass in der Standardkonfiguration die Anmeldung von Benutzern wie postgres nicht gestattet wird – ein i.d.R. sinnvolles Verhalten. Bei manchen Installationen wie z.B. Entwicklungssystemen in lokalen Netzwerken ist das aber unnötig. Um in diesem […]
Manchmal ist es hilfreich, auch in einem postValidator zu einem symfony-Formular zu wissen, ob der zugrundeliegende Eintrag neu ist oder ob es sich um eine Korrektur des Datensatzes handelt. Die Funktion sfForm::isNew() steht für einen Validator jedoch nicht zur Verfügung. Zur Lösung gibt es zwei Ansätze, von denen der erste […]
Wenn phppgadmin kommentarlos leere SQL-Dumps liefert, kann das daran liegen, dass eine veraltete Kommandozeilenoption an pg_dump übergeben wird. In den Webserver-Logs finden sich dann Einträge wie /usr/lib/postgresql/8.4/bin/pg_dump: invalid option -- 'd' Try "pg_dump --help" for more information. Die relevanten Dateien können sich von Version zu Version unterscheiden. Daher wird hier […]
Nach dem Umzug eines symfony-Projektes muss wegen des geänderten Dateipfades der Cache geleert werden. Schlägt das fehl, weil symfonyvor Ausführen des Kommandos noch Dateien laden möchte, die noch am alten Ort vermutet werden, so äußert sich das in einer Fehlermeldung ähnlich dieser: $ php symfony cc PHP Warning: require(/srv/[...]/listvalidatormessagesTask.class.php): failed […]
Beim Update eines ziemlich alten symfony-Projektes erhielt ich folgende Fehlermeldung: Internal Server Error sfParseException Configuration file "/opt/symfony/1.4.13/lib/config/config/filters.yml" specifies category "common" with missing class key. Die Lösung ist – wie so vieles bei symfony – automatisiert. Allerdings muss zunächst symfony in Version 1.3.x verwendet werden, da das Skript nur dort aktiv […]
Tritt die Fehlermeldung Call to a member function reloadGroupsAndPermissions() in [...]plugins/sfGuardPlugin/lib/model/plugin/PluginsfGuardUserGroup.php in Bezug auf die dortige Zeile [php]$this->getsfGuardUser($con)->reloadGroupsAndPermissions();[/php] auf, so kann das u.U. daran liegen, dass die ID in den Datenbanktabellen sf_guard_user, sf_guard_user_group und sf_guard_user_permission durcheinander geraten sind und nicht mehr übereinstimmen. Das äußert sich z.B. darin, dass ein var_dump($this); […]
Wenn dieser Fehler in einem Template auftritt, ist aller Wahrscheinlichkeit nach der I18N-Helper nicht geladen. Das lässt sich entweder in der Datei selbst mit [php]use_helper(‘I18N’);[/php] oder applikationsweit in der Datei apps/…/config/settings.yml durch Ergänzen der vermutlich bereitsvorhandenen Zeile all: .settings standard_helpers: [...,I18N] beheben. Das übliche php symfony cc nicht vergessen 😉
Von einem gegebenen Datum auf einen Wochentag zu schließen, ist dank strftime() recht komfortabel. Obwohl laut Dokumentation strptime() in der Lage sein sollte, den umgekehrten Weg zu beschreiten, schlägt das fehl (PHP 5.2.10 unter Gentoo). Eigentlich müsste folgender Schnipsel zumindest den heutigen Tag errechnen können. [php] var_dump(strptime(strftime(‘%V %G’, time()), ‘%V […]
Die Meldungen der Validator-Klassen lassen sich recht gut aus der Online-Dokumentation heraussuchen. Weil dort aber keine “vererbten” Meldungen sichtbar sind, muss man jedes Mal die Basisklasse(n) durchsuchen, um sicher zu gehen, alle Meldungen gefunden zu haben. Spätestens mit eigenen Validator-Klassen macht das keinen Spaß mehr. Um das ein wenig zu […]