Nouveautés de la version 4
1. Changement dans la gestion des filtres
Le composant de gestion des filtres a été réécrit par l’équipe de développement. Les filtres sont maintenant plus performants et leur intégration dans Phalcon est plus légère.
a. Changement dans le code de Phalcon
Version 3
Dans cette version, tous les filtres sont gérés dans une même classe. À l’intérieur de celle-ci se trouve la fonction sanitize permettant de nettoyer la donnée contenue dans une variable.
Cette fonction de nettoyage gère les différents types de filtres à l’aide d’un long switch/case selon le cas.
Extrait du code de filter.zep
switch filter {
case Filter::FILTER_EMAIL:
return filter_var(value, constant("FILTER_SANITIZE_EMAIL"));
case Filter::FILTER_INT:
return filter_var(value, FILTER_SANITIZE_NUMBER_INT);
...
}
Version 4
Dans cette nouvelle version, chaque type possède sa propre classe avec sa propre fonction de nettoyage. Cela permet de supprimer le long switch/case et de rendre plus simple la maintenance du code pour la communauté de Phalcon.
Extrait du code de Filter/Sanitize/Email.zep
class Email
{
public function __invoke(var input)
{
return filter_var(
...