Page 1 sur 1

fichier index

Posté : 13 juil. 2013, 23:56
par natissla
Bonjour,

Il y a une chose qui m'echappe specialement sur les framework MVC:

Le moteur de l'appli est souvent lance via le fichier index, quil load des fichiers ou definissent les variables. Ce que je ne comprend pas c'est quand jappel par exemple un controller comment fait il par passer par ce ficher index de maniere transparente pour lancer le moteur de l'appli ???*

Merci de vos reponses

Re: fichier index

Posté : 14 juil. 2013, 16:47
par moogli
Salut,

Il faut voir la chose autrement.
Le (ou les parfois) contrôleur c'est LE point d'entrée de l'appli.
Les requêtes de la vue (ton navigateur) passe obligatoirement par le contrôleur qui va utiliser le modèle pour obtenir les infos dont la vue a besoin pour s'afficher.

Ensuite il est possible d'appliquer la chose de la façon que l'on souhaite.
Généralement on applique le principe des pseudos frames (parfois couplé avec de l'url rewriting pour avoi quelque chose de plus sexy pour l'utilisateur) et au final tous arrive au contrôleur.

En contexte web le fichier index est normalement le point d'entrée d'une application c'est pour cela qu'il est généralement choisit pour instancier tous ce dont on a besoin pour répondre aux besoins de la vue ;)



@+

Re: fichier index

Posté : 15 juil. 2013, 01:18
par orenx22
Le système qu'utilise les framework pour passer par leur index de marnière constante est la réécriture d'url avec le rewrite_module d'apache (ton serveur web). En gros avec un script .htaccess et l'activation du rewrite_module dans ton serveur apache tu peux modifier le comportement de celui ci en terme de gestion de requête (ce que tu indiques dans ton url).

Exemple de fichier .htaccess que je met dans le répertoire racine de mon framework perso (la ou se trouve mon index.php) :
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule \.(css|js|jpg|png|pdf|mwb)$ - [L]
RewriteRule ^.*$ index.php [NC,L]

Il faut lire ce script de cette manière :

J'active la réécriture d'url, pour toutes requêtes sur ce serveur, et si la requête demandé ne fini par . css ou js ou jpg ou png ou pdf ou mwb, et bien tu rediriges vers l'index.

Il reste plus qu'à créer un système qui gère après coup les requêtes, le plus simple est de jouer avec la variable $_SERVER['REQUEST_URI'].

Ciao