Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 20-04-2011 19:53:19

Farid63
Nouveau membre
Date d'inscription: 20-04-2011
Messages: 6

Débutant avec ZF

Bonjour à tous,

je débute avec ZF et il y a certaines choses que je ne comprends pas.

Quel est la différence entre la classe bootstrap et le fichier application.ini?

Dans ce tuto : Débuter avec Zend Framework, le doctype du template est défini dans le fichier application.ini :

resources.view.doctype = "XHTML1_STRICT"

et dans la documentation officiel de ZF, il est défini dans la classe Bootstrap :


class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
    protected function _initDoctype()
    {
        $this->bootstrap('view');
        $view = $this->getResource('view');
        $view->doctype('XHTML1_STRICT');
    }
}


J'ai vu pareil pour la configuration de la base de données, ça change selon les tutos...
Est-ce une différence entre ZF 1.10 et ZF 1.11?

Y a t-il une raison particulière de l'écrire soit dans application.ini soit dans la classe Bootstrap?

Qu'est-ce que Zend_Application, une classe? plusieurs fichiers?

Comment ce fait-il que les vues sont appelées alors qu'il n'y a aucun code dans les "Actions"?


Merci par avance. wink

Hors ligne

 

#2 21-04-2011 08:49:22

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: Débutant avec ZF

Bonjour,

Différence entre application.ini et Boostrap.php
En gros application.ini et Bootstrap.php servent à faire la même chose : ces 2 fichiers initialisent l'application.
application.ini est un fichier de configuration plus simple, mais il ne permet pas de faire toutes les configurations possibles.
Bootstrap.php est un peu plus complexe, mais permet de faire des configurations plus précises.

C'est différent suivant les tutos
Oui, on peut initialiser les choses de plusieurs façons différentes. Entre la 1.10 et la 1.11 il n'y a pas beaucoup de différences. Ces 2 méthodes vont fonctionner sur les 2 versions.

Y a t-il une raison particulière de l'écrire soit dans application.ini soit dans la classe Bootstrap?
non, pas vraiment, cf la 1ère réponse

Qu'est-ce que Zend_Application, une classe? plusieurs fichiers?
C'est une classe (qui va en appeler de nombreuses autres, mais c'est une cuisine interne au framework, à la limite on s'en fiche).
Cette classe va en gros :
- lire le application.ini et le Bootstrap.php et va initialiser l'application.
- lancer le "Front Controller"

Le "Front Controller" est la classe qui va regarder l'URL appelée et qui va lancer l'action qui va bien (c'est ce qu'on appelle le routage). Ensuite le front controller va regarder si une vue existe associée à cette action et va l'afficher.

Comment ce fait-il que les vues sont appelées alors qu'il n'y a aucun code dans les "Actions"?
C'est le front controller qui se charge d'aller voir si une vue correspond à l'action demandée et qui va l'afficher. Donc dans un cas de base, on n'a pas besoin de dire dans l'action qu'on veut afficher une vue, c'est fait automatiquement.

A+, Philippe
PS : j'ai simplifié un peu le processus pour que ça reste à peu près compréhensible.


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#3 21-04-2011 09:03:37

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

Re: Débutant avec ZF

Rappelons toutefois que l'utilisation des fichiers de config (.INI ou .XML) est conseillée pour faciliter une éventuelle migration ZF1 vers ZF2


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

Hors ligne

 

#4 22-04-2011 09:56:23

Farid63
Nouveau membre
Date d'inscription: 20-04-2011
Messages: 6

Re: Débutant avec ZF

Super merci, c'est simplifié mais c'est ce que je cherchais.

Donc plutôt configurer dans application.ini, du coup bootstrap.php restera vide?

Je ne suis pas encore allé très loin de ZF mais après avoir configuré la base de données et le layout, va t-il y avoir beaucoup d'autres paramètres dans application.ini?

Merci smile

Dernière modification par Farid63 (22-04-2011 09:58:12)

Hors ligne

 

#5 22-04-2011 11:51:00

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

Re: Débutant avec ZF

Hello,

Tu peux effectivement mettre beaucoup de choses dans les fichiers de config (j'en ai un sur une application de 500 lignes). Il faut cependant faire attention au parse_ini_file qui est très couteux sur de gros fichiers. Donc le mieux est de mettre en cache la config après la première analyse et avoir un invalideur sur la date de modif du fichier.

@+


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

Hors ligne

 

#6 25-04-2011 15:17:54

Farid63
Nouveau membre
Date d'inscription: 20-04-2011
Messages: 6

Re: Débutant avec ZF

Ok, merci pour ces explications.

Je continue mon apprentissage et j'ai quelques questions au sujet de la vue.

comme je l'ai dit dans mon premier post, il n'y a pas de code dans le controleur qui appel un fichier de vue. Dans la documentation de Zend, je vois :

      $view = new Zend_View();

      $view->a = "Ha";
      $view->b = "Bé";
      $view->c = "Cé";

      echo $view->render('uneVue.php');


Je sais pas si j'ai bien compris mais voilà mes questions.

Pourquoi faire un new Zend_View() alors qu'on peut utiliser $this->view ?

Pourquoi faire un $view->render() ?

Pourquoi il dise dans la doc que le script de vue devrait se trouver dans le même chemin que les contrôleurs?
voir ici : Documentation
Ce n'est pas dans views/scripts...?

Je pense que j'ai du manquer quelques choses, mais j'ai du mal à m'y retrouver donc j'appel à l'aide. big_smile

Merci.

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