Krisztian Ferenczi
unread,Dec 14, 2010, 6:48:28 AM12/14/10Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to symfo...@googlegroups.com
Egy "érdekes" problémába futottam bele, gondoltam felhívom mások figyelmét is rá. Az egyik action-ben a következő kód volt:
try {
// hajtsd végre a módosításokat
$this->redirect('@view?id='.$this->item->getId());
} catch(Exception $e) {
// állítsd vissza az eredeti állapotot
// adj hibaüzenetet
}
Én meg nem értettem, hogy miért nem működik a dolog. Nem menti a módosításokat, viszont ha a catch részbe throw $e; -t írok, megtörténnek a módosítások, de nem ír ki semmit! Már azzal is próbálkoztam, hogy print_r-rel kiíratom az $e-t és utána rögtön exit();, de akkor sem történt semmi, azon kívül, hogy megtörtént a módosítás és nem csinálta vissza a dolgokat.
Most nem részletezném a hibakeresés hosszú folyamatát, de a lényeg, hogy a redirect() fv KIVÉTELT DOB! Most így néz ki a végeredmény:
try {
// hajtsd végre a módosításokat
$this->redirect('@view?id='.$this->item->getId());
} catch(sfStopException $e) {
throw $e;
} catch(Exception $e) {
// állítsd vissza az eredeti állapotot
// adj hibaüzenetet
}
Így már jó :)
Chris