Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous,
Je suis débutant et je viens de commencer à développer ma première application Zend.
Par contre, je viens de suivre l'installation "Quickstart" et j'ai quelques questions sur le sujet.
1) Faut-il créer un fichier index.php dans le dossier "public" et un autre fichier "bootstrap.php" dans le répertoire
application ? Certains tutoriaux proposent un seul fichier index (qui sert de bootstrap) dans le dossier public.
2) Quand je fais "localhost/site/public/", j'arrive bien à démarrer sur le controleurIndex.
et pour aller sur une action de l'index, je doit faire "localhost/site/public/index/contact".
Comment faire pour avoir "localhost/site/public/contact".
3) Pouvons nous générer des pages contact.html à la place de contact.
4) Pouvons nous changer le répertoire "public" en "www" ?
En vous remerciant pour votre aide précieuse.
Hors ligne
1°) Tu verras au cours de ton apprentissage que le Zend Framework est vraiment très flexible. Souvent, il y a différentes manières de faire; et il n'y en a pas forcément une qui sort du lot, ça dépend de chacun.
Il te faut un fichier bootstrap.php dans le répertoire application et un fichier index.php dans le répertoire public effectivement. On aurait pu faire aussi, comme sur la plupart des tutoriaux, qu'un seul fichier index.php dans le répertoire public, avec le contenu du bootstrap dans l'index.php. Ca devrait marcher aussi si tu changes les chemins d'accès.
Cette séparation en deux fichiers est recommandée pour la sécurité de ton application
Hors ligne
4°) Bien sûr, la structure (et les noms) des dossiers de l'application est totalement personnalisable. Après, tu fais ce que tu veux à condition que ça reste cohérent avec ce que tu écris dans tes fichiers de configurations serveur et application (bootstrap.php, index.php, httpd.conf...)
Hors ligne
Merci miboo pour ta réponse. Mais je ne comprend pas le problème de rajouter dans mon adresse http le mot : index ? pour exécuter une action.
-> localhost/site/public/index/contact
Hors ligne
Je crois qu'il faut que je continue à potasser la documentation.
Je viens de comprendre le problème des actions.
Merci pour vos réponses.
Hors ligne
simplement pu peux avoir 1000 contrôleurs donc lorsque tu exécute une action il faut savoir de quel contrôleur
localhost/site/public/
signifie contrôleur par défaut action par defaut (rien n'est précisé) par convention le contrôleur par défaut est IndexController (ça peut ce changer) et l'action par défaut est IndexAction (ça se change aussi)
localhost/site/public/contact
pourrait signifier Contrôleur par défaut (IndexController) action contact (ContactAction)
ou alors contrôleur Contact (ContactController) action par défaut (indexAction)
ZF a choisit la deuxième approche ainsi tout contrôleur peut avoir une action par défaut.
pour moi le contrôleur par défaut ne contient que le minimum si possible uniquement indexAction
et ce sont les autres contrôleurs qui font le boulot.
les actions font quelque chose ce sont donc de verbe un contact n'est pas un verbe ce n'est donc pas une action
afficher les information pour un contact c'est une action qui doit donc être dans le contrôler contact.
en suivant cette logique l'action par défaut du contrôleur contact est d'afficher les infos je la mettrait donc dans l'action indexAction de mon contrôleur ContactController
et du coup mon url par défaut sera
http://monserveur/
et mon url de contact sera
http://monserveur/contact
les url de zf sont définie ainsi
http://server/BaseUrl/controller/action/paramname1/value1/paramname2/value2/paramname3/value3/.....
BasUrl est le chemins mis dans le paramètre baseURL du front contrôleur et détermine la position de ton application dans ton serveur. tout le reste est facultatif mais la position des éléments à un sens et tu ne peu omettre un élément pour mettre le suivant
spécialise des contrôleurs et tu verras que ça devient porteur de sens
http://monserveur/panier/valider
http://monserveur/facture/acquitter/numero/14523458
etc.
A+JYT
Hors ligne
Merci pour tes précieux renseignements.
J'ai encore un problème, je viens de suivre le démarrage rapide pour la création du bootstrap et de l'index et quand j'active le zend_Layout, mes vues dans le fichier Layout n'apparaisse pas :
// Mise en place du contenu
$this->layout()->content ?>
Et si j'enlève la configuration Layout dans le bootstrap :
Zend_Layout::startMvc(APPLICATION_PATH . '/layouts/scripts');
Les vues réapparaissent !
Je suis avec Wamp serveur.
Si quelqu'un a déjà eu ce problème ?
Hors ligne
Je viens de trouver, je me suis trompé dans le Layout :
J'ai mis : <?php echo $this->layout->content(); ?>
à la place de <?php echo $this->layout()->content; ?>
Hors ligne