Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 17-12-2009 10:58:00

gordontesos
Membre
Date d'inscription: 18-03-2009
Messages: 10

[Zend_Validate][1.9.6] Gestion de plusieurs namespaces

Bonjour. J'utilise des classes de validation personnalisées, en plus des validateurs classiques de ZF. Naturellement, je déclare donc mon namespace via la méthode Zend_Validate::addDefaultNamespaces('MonNamespace');
Dès lors, mes validateurs persos sont utilisés sans soucis, mais il m'est impossible d'utiliser les validateurs Zend_Validate, quand bien même j'ai utilisé la méthode "add" et non "set". Soit, j'ajoute le namespace ZF via Zend_Validate::setDefaultNamespaces(array('Zend_Validate', 'MonNamespace'));
Maintenant, les validateurs fonctionnent, mais non sans mal, car je reçois beaucoup de warnings, car Zend_Validate cherche à charger les classes sans vérifier leur existence... Donc, ça me retourne un "PHP Warning:  include(Zend/Validate/MonValidateur.php): failed to open stream: No such file or directory in /usr/share/php/Zend/Loader.php on line 83".
Ma question est donc : s'agit-il d'un bug encore non résolu ? Ou d'un choix de design pour ce cas de figure ? Dans ce cas, comment arriver à mes fins, c'est à dire utiliser naturellement des validateurs de plusieurs namespaces.

Merci de vos réponses.

Hors ligne

 

#2 17-12-2009 14:21:58

gordontesos
Membre
Date d'inscription: 18-03-2009
Messages: 10

Re: [Zend_Validate][1.9.6] Gestion de plusieurs namespaces

J'ai corrigé mon problème, d'une façon peu esthétique, en modifiant directement la classe Zend_Loader (qui ne vérifie pas l'existence d'un fichier avant d'inclure une classe) : pour les intéressés, voici la modification, à la ligne 83 :

Code:

if(!Zend_Loader::isReadable($file)) {
    require_once 'Zend/Exception.php';
    throw new Zend_Exception("File \"$file\" does not exist");
}

Dernière modification par gordontesos (17-12-2009 14:22:17)

Hors ligne

 

#3 17-12-2009 16:21:41

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: [Zend_Validate][1.9.6] Gestion de plusieurs namespaces

Je viens d'avoir moi aussi ce "type" de problème. Fais attention à la casse de tes nom de fichiers.

Dans mon cas, j'ai créé une ressource d'application CacheManager dans un fichier CacheManager.php, sauf que le plugin loader cherche Cachemanager.php (en tout cas sous Linux)


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages