Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 12-07-2010 12:20:27

terrorist
Membre
Date d'inscription: 17-04-2009
Messages: 104

[Résolu]bootstrapping dans http://g-rossolini.de

bonjour je lis le tutoriel http://g-rossolini.developpez.com/tutor … k/debuter/ et ya une phrase que je comprends pas et j'aimerais une explication plus ample. C'est la suivante :
La commande RewriteRule est vraiment simple et peut être interprêtée comme "pour toute URI qui ne correspond
pas à un fichier existant sur le disque, utiliser index.php à la place".

Merci d'avance!

Dernière modification par terrorist (13-07-2010 12:16:47)

Hors ligne

 

#2 12-07-2010 13:44:17

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

Re: [Résolu]bootstrapping dans http://g-rossolini.de

quand tu tapes dans un navigateur :
http://monsite.fr/toto/tata.php
naturellement, apache va regarder s'il existe un fichier dans documentRoot/toto/tata.php (ton documentRoot étant configuré dans ta conf apache, c'est le répertoire de base de ton site).

Si le fichier existe, il va l'exécuter et te renvoyer la réponse.

Dans la conf apache, une rewrite rule ressemble à
RewriteRule condition_sur_l'url_demandée fichier_à_lancer_à_la_place_du_fichier_par_défaut

Donc si tu avais mis

Code:

RewriteRule toto/tata.php toto/titi.php

au lieu d'appeler toto/tata.php, il lancera toto/titi.php

Avec le ZF, quand on écrit

Code:

RewriteRule .* index.php

on dit à apache : "quelle que soit l'URL demandée (.*)" renvoie vers le fichier index.php

On lui dit également juste avant :

Code:

RewriteCond %{REQUEST_FILENAME} !-f

qui dit : "ignore la règle suivante si le fichier par défaut existe". Donc quand apache reçoit son URL, il calcule le fichier par défaut qu'il devrait lancer (le toto/tata.php de tout à l'heure). Si le fichier existe, il le lance et il ignore la rewrite rule. Si le fichier n'existe pas, il renvoie sur index.php.

A+, Philippe
PS : après relecture, je ne suis pas sur d'avoir été plus clair que la phrase de départ...


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

Hors ligne

 

#3 12-07-2010 14:07:57

terrorist
Membre
Date d'inscription: 17-04-2009
Messages: 104

Re: [Résolu]bootstrapping dans http://g-rossolini.de

Merci tu as vraiment bien expliqué. Juste une question.
Tout ça pour faire quoi exactement?à quoi ça sert?
Merci d'avance!

Hors ligne

 

#4 13-07-2010 00:02:03

Intiilapa
Membre
Date d'inscription: 03-02-2009
Messages: 95

Re: [Résolu]bootstrapping dans http://g-rossolini.de

Le but est de déclencher une redirection vers le router rewrite de ZF.
Une url Zend type suit le schéma /:module/:controller/:action/:paramName1/:paramValue1. Un exemple peut être /forum/sujet/lire/id/42.

Le DocumentRoot de ton application ne contient pas de répertoire 'forum', ni un sous répertoire 'sujet', etc, dans le répertoire 'public' d'une application ZF type. Si ce chemin ne représente rien d'existant dans l'arborescence du système de fichier, le serveur web renvoie une erreur 404. Le rewrite intervient pour cette raison. Brancher cette url qui n'existe pas physiquement sur une route qui dispatche sur l'architecture MVC.

En effet, l'url /forum/sujet/lire/id/42 va afficher le résultat de l'action lire du contrôleur sujet du module forum, et il existera un paramètre get nommé 'id' avec la valeur 42. Cette url a le même sens que cette url classique PHP /index.php?module=forum&controller=sujet&action=lire&id=42.
Cela exécute le code contenu dans la méthode SujetController::lireAction().

Je vais m'arrêter pour éviter d'embrouiller au cas où. En somme, cela permet une très grande liberté dans l'écriture d'une url. Ce qui peut être appréciable pour du référencement ou avoir une url simple à retenir.

Hors ligne

 

#5 13-07-2010 10:57:37

terrorist
Membre
Date d'inscription: 17-04-2009
Messages: 104

Re: [Résolu]bootstrapping dans http://g-rossolini.de

Merci beaucoup, je pense que je comprends bien maintenant.
Merci encore une fois pour tous ceux qui m'ont répondu

Hors ligne

 

#6 13-07-2010 11:21:01

terrorist
Membre
Date d'inscription: 17-04-2009
Messages: 104

Re: [Résolu]bootstrapping dans http://g-rossolini.de

comment mettre cette discussion résolu?

Hors ligne

 

#7 13-07-2010 11:30:30

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

Re: [Résolu]bootstrapping dans http://g-rossolini.de

Tu édites ton 1er messages et tu ajoutes [Résolu] devant le titre.

A+, Philippe


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

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