IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Autres composants PHP Discussion :

Zend_Cache - La mise en cache d'une fonction ne pourrais pas gérer de méthode ? [ZF 1.10]


Sujet :

Autres composants PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 852
    Par défaut Zend_Cache - La mise en cache d'une fonction ne pourrais pas gérer de méthode ?
    Bonjour,

    J'ai essayé de mettre en cache l'appel d'une méthode d'un objet à l'aide de la méthode Call.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $cache = Zend_Registry::get('cache');
    $cache->call(array($this, '_maMethod'));
    Cette instruction soulève une exception. Effectivement, lorsque l'on regarde le code du Zend Framework, on peut voir que l'identifiant pour la mise en cache n'accepte pas d'objet et ne prends en compte que les String.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        private function _makeId($name, $parameters)
        {
            if (!is_string($name)) {
                Zend_Cache::throwException('Incorrect function name');
            }
            if (!is_array($parameters)) {
                Zend_Cache::throwException('parameters argument must be an array');
            }
            return md5($name . serialize($parameters));
        }
    Cette limitation est étrange. Cela voudrait dire que l'on peut mettre en cache l'appel d'une fonction mais pas l'appel d'une méthode.
    Ce qui est encore plus étrange c'est que le Zend Framework ce base sur call_user_func_array qui est capable de gérer des méhodes.

    Avez-vous déjà utilisé cette méthode et avez vous déjà vu cette limitation ?

    Merci

  2. #2
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 852
    Par défaut
    Autant pour moi, il suffisait d'utiliser le gestionnaire Zend_Cache_Frontend_Class à la place de Zend_Cache_Frontend_Function


    Souvant, c'est en expliquant son problème que l'on trouve une réponse

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mise en cache d'une image
    Par Braillane dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 17/09/2007, 11h17
  2. [ASP.NET] Non mise en cache d'une image
    Par Azephel dans le forum ASP.NET
    Réponses: 2
    Dernier message: 07/09/2007, 12h36
  3. [PHP-JS] Mise en place d'une fonction recherche
    Par barbapapa2 dans le forum Langage
    Réponses: 6
    Dernier message: 02/12/2006, 19h03
  4. [HTML] Pas de mise en cache pour une playlist xml d'un swf
    Par Lock622 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 13/08/2006, 15h49
  5. Mise en cache d'une page
    Par clad523 dans le forum ASP
    Réponses: 1
    Dernier message: 06/03/2006, 11h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo