Question

  

EDIT: Des questions supplémentaires:

     
      
  • dois-je ajouter le « .php » à la fin de new NAMSPACE_CLASSNAME
  •   
  • Puis-je accéder à un package Zend dans mon contrôleur / modèle, pour   exemple:
  •   
     
    

/ * // contrôleur // Méthodes dans un * /

         

méthode $ client = new     Zend_Http_Client ( ' http://example.org ',     array (         'maxredirects' => 0,         'Timeout' => 30));

  

Salut,

comme je l'ai déjà demandé Comment ajouter 3ème partie lib ZendFramework Je voulais aussi demander si ma bibliothèque est disponible dans chacun de mes controllers, models, views etc. Ne l'enregistrement d'un espace de noms et autoloading ses classes signifie, que si je me inscrire 'MyClassXY_' permet d'utiliser 'MyClassXY_someMethod'

L'autre partie de ma question consiste à utiliser une classe interne Zend / composant / méthode dans mon contrôleur. Comme je sais que je peux faire CakePHP App::import('appIwantToLoad') ou utiliser un component pour avoir une classe / composant CakePHP disponible à mon contrôleur / modèle. ZendFramework semble un peu différent: J'ai entendu parler « usine » méthode (s) qui instancie par exemple un Cache de Object en utilisant un tableau de paramètres mis dans la méthode de fabrication.

Si vous ne comprenez toujours pas ce que mon problème est sur le point, je tente de vous donner un exemple simple:

Je suis assis devant mon contrôleur et je veux accéder à l'ACL ou le module de cache de ZendFramework. Je ne l'ai pas mis tout espace de noms spécifique à charger (pour charger juste « Default_ ») et je ne l'ai pas mis une ressource spécifique à charger (à l'exception du FrontController et toutes les autres ressources de base MVC).

Maintenant, je peux simplement utiliser ($Namespace_Module_AdditionalStuff) $ZendModuleXY = $Zend_Module_AdditionalStuff::constructionMethod d'accès globaly telle ou telle classe ou méthode?

Merci beaucoup.

Était-ce utile?

La solution

Si vous configurez autoloading pour votre MyClassXY lib, vous pouvez utiliser une classe dans ce répertoire. Par exemple:

//if there is library/MyClassXY/Foo.php with class MyClassXY_Foo
new MyClassXY_Foo
//is valid

b) Vous pouvez stocker vos ressources dans Zend_Registry .

Zend_Registry::set('dbConnection', $resource);

class App_Another_Class
{
    /* */
    $resource = Zend_Registry::get('dbConnection');
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top