Ne crois pas que tu t’es trompé de route quand tu n’es pas allé assez loin

Parfois, je cherche, parfois je trouve. Souvent j’oublie. Alors, pour me souvenir qu’on peut aussi bien se marrer avec symfony + Propel, je me suis notée que pour un superbe criteria de ce style, mis dans une méthode selectAvailableTruc :
$criteria->add(self::IS_PUBLISHED, true);
$criterion = $criteria->getNewCriterion(self::BEGIN_DATE, date('Y-m-d h:i:s'), Criteria::LESS_EQUAL);
$criterion->addAnd($criteria->getNewCriterion(self::END_DATE, date('Y-m-d h:i:s'), Criteria::GREATER_EQUAL));
$criteria->add($criterion);
return self::doSelectOne($criteria);

vous pouvez simplement utiliser une route de type :
super_chemin:
url: /mestrucs/:id
class: sfPropelRoute
options: { model: Truc, type: object, method_for_criteria: selectAvailableTruc }
params: { module: truc, action: show }
requirements:
sf_method: [GET, POST]

Le titre est une citation de Claude Aveline


Pour être plus précise, le besoin était de n’avoir pas accès à l’objet, si jamais il n’était plus valable (hors dates) ou pas publié (brouillon, par exemple), tout en conservant le lien avec l’id. Bref, le même lien pouvait devenir valide ou invalide selon que l’objet est considéré comme disponible ou non.

Ajouter mes idées

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s