Zend Framework : Attention aux erreurs

Me revoilà, je fais pas mal de veille en ce moment pour le développement de la nouvelle version de Wanarun.

J’ai décidé de me baser sur le Zend Framework et j’ai créé une sur-couche pour placer mes objets.

J’ai donc crée un Load pour Wanarun :

class Wanarun_Loader extends Zend_Loader
{
}

que je charge en début de page :

set_include_path(dirname(__FILE__).'/../framework/wanarun/library/'.PATH_SEPARATOR.get_include_path());
require_once "Wanarun/Loader.php";
Wanarun_Loader::registerAutoload();

Je travaillais sur la version 1.7.4 jusqu’a récemment ou je me suis retrouvé complétement bloqué sur un bug assez bizarre : plus aucune erreur, uniquement une page blanche…

Il se trouve que dans le Loader Zend sur la version 1.7.4 on avait droit à (ligne 82-83) :

...
self::_securityCheck($file);
@include_once $file;
...

Donc bien sur, aucun probleme d’erreur dans le Zend Framework (le @ ne pose pas de problème) mais comme j’héritais du Zend Loader et que j’avais fait une erreur… je ne la voyais pas…

Deux solutions :

  • Upgrader au Zend Framework 1.7.5 qui n’a pas de @
  • Supprimer le @

Encore une fois du temps perdu à cause de ce satané @…personnelement je serais pour le retirer dans la version 6…


Tags :

5 commentaires

Une nouvelle extension PECL vient justement d’apparaître qui permet de désactiver le @ : http://pecl.php.net/package/scream

Clochix
mars 3rd, 2009 at 8 h 40 min

Je ne vois pas l’intérêt d’étendre le Zend Loader. Tu peut en dire plus ? :p

Damien
mars 3rd, 2009 at 10 h 27 min

@Damien c’est simple ca me permet de ne pas créer un autoload spécifique et de créer un framework spécifique avec une structure (répertoire et fichier) identique au ZF très facilement.

Manu
mars 3rd, 2009 at 10 h 32 min

@Damien j’utilise aussi cette technique pour simplifier le chargement des modèles et des formulaires.

@Manu : Cela ne sera bientôt plus nécessaire grâce à Zend_Loader_Autoloader_Resource qui sera plus flexible apparemment.

Jean-Marc Fontaine
mars 3rd, 2009 at 10 h 56 min

@Jean-Marc je ne suis pas le developpement en temps réel de ZF.
Je suis uniquement la doc

Effectivement :
http://framework.zend.com/wiki/display/ZFPROP/Zend_Loader_Autoloader_Resource+-+Matthew+Weier+O%27Phinney

C’est assez proche après mon systeme prend 1 fichier d’une ligne donc c’est pas bien violent et j’ai pas trouvé de limitation.

Manu
mars 3rd, 2009 at 11 h 03 min

Laisser un commentaire

Name (required)

Mail (will not be published) (required)

Website

Commentaire