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

Zend Framework PHP Discussion :

Methode static et autoload


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2010
    Messages : 111
    Par défaut Methode static et autoload
    Bonjour,

    Je fais un site avec une architecture modulaire et j'ai un problème dans mon module "default" car dans un controller d'action "catégorie", je dois appeler la méthode "liste" du controller annonce.

    Je me suis dit qu'il fallait que je mette la méthode liste en static pour l'appeler
    facilement. Lorsque je saisie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AnnonceController::listeAction($id)
    ZendStudio trouve bien ma méthode liste avec l'autocompletion mais lorsque je visualise le site ça ne fonctionne pas, il faut que je fasse un require de la page AnnonceController.php

    Pouvez vous me dire pourquoi l'autoload ne se fait pas ?
    Merci pour votre aide

    Voici le bootstrap de mon module "default" (et je n'utilise pas le préfixe default)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class Default_Bootstrap extends Zend_Application_Module_Bootstrap
    {
    	protected function _initAutoload()
    	{
    		$moduleLoader = new Zend_Application_Module_Autoloader(array(
    		'namespace' => '',
    		'basePath' => APPLICATION_PATH . '/modules/default'));
    		$moduleLoader->addResourceType('Forms', 'forms', 'Forms');
    		return $moduleLoader;
    	}  
    }

  2. #2
    Membre éprouvé
    Homme Profil pro
    Ingenieur BI - Dev Web Senior
    Inscrit en
    Décembre 2009
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingenieur BI - Dev Web Senior

    Informations forums :
    Inscription : Décembre 2009
    Messages : 118
    Par défaut
    @siriu,

    Principe :
    Une action Zend c'est une méthode qui va principalement retourner un code HTML afin de l'afficher sur un browser, ou l'exploiter dans une autre action.

    Alternative :
    Parmi les ViewHelpers de Zend il y a un nommé Zend_View_Helper_Action (pour plus d'infos http://framework.zend.com/manual/fr/...w.helpers.html).
    Dans ton cas, au lieu de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AnnonceController::listeAction($id)
    essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->view->action('liste', 'annonce', 'module-conteneur-du-controller-annonce', array('id' => $id));
    Enjoy!

Discussions similaires

  1. methode static interface
    Par samtheh dans le forum Langage
    Réponses: 3
    Dernier message: 15/10/2006, 19h25
  2. [POO] Probleme avec static et autoload
    Par laetyboop dans le forum Langage
    Réponses: 1
    Dernier message: 23/03/2006, 14h46
  3. Classe interne, methode static et ajout de boutons
    Par comme de bien entendu dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 09/03/2006, 14h13
  4. Réponses: 13
    Dernier message: 15/11/2005, 15h47
  5. [Concept]Methode "static"
    Par Regis.C dans le forum Général Java
    Réponses: 5
    Dernier message: 04/01/2005, 10h10

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