The 2008-01-31 at 12:19 by Loïc d'Anterroches filed under Pluf - Framework en PHP5.
Supposons qu’avec Pluf, vous avez 10 vues et que toutes les vues demandent à ce que l’utilisateur soit enregistré pour voir ces vues. Aujourd’hui, dans le code vous avez 10 fois quelque chose du genre :
class maclass
{
function mavue($request, $match)
{
if ($request->user->isAnonymous()) {
return new Pluf_HTTP_Response_RedirectToLogin($request);
}
....
}
}
Maintenant vous pouvez enlever le bloque if, prendre la liste des vues et ajouter pour chaque vue :
$ctl[ = array('regex' => '#^/whatever/$#',
'priority' => 4,
'base' => '/index.php',
'precond' => 'Pluf_Precondition::loginRequired',
'model' => 'maclass',
'method' => 'mavue');
precond est soit une unique précondition, soit un tableau avec une liste de préconditions. Une précondition est une méthode statique qui retourne soit true en cas de succès soit objet de type Pluf_HTTP_Response ou dérivé en cas d’erreur. C’est tout simple et c’est rudement efficace. Encore un petit truc pour éviter d’écrire plusieurs fois la même chose dans votre code.
Comments from readers