Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/06/2011, 23h06   #1
Invité régulier
 
Homme Laurent
Développeur Web
Inscription : septembre 2010
Messages : 34
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur Web
Secteur : Boutique - Magasin

Informations forums :
Inscription : septembre 2010
Messages : 34
Points : 5
Points : 5
Par défaut Front controller avec redirection

Bonjour,

Je suis en train de monter mon premier site professionnel. Je suis un peu novice et ai repiqué pas mal d'idées sur ce que je connais de Zend Framework pour m'aider. Mon problème est le suivant :

J'utilise un front controller (enfin je crois que c'est le nom officiel), c-a-d je suis un architecture MVC mais toute page de mon site est accessible par une URL du type :
www.bidule.com/index.php?page=trucmuche.php
ce que me permet, dans l'index, de centraliser les traitement et d'appeler automatiquement le bon contrôleur et la bonne vue pour traiter la page. Ca, ça marche.

Néanmoins, j'aimerais bien cacher ce paramètre tout moche pour quelque chose du genre
www.bidule.com/trucmuche
pour que ça appelle la page trucmuche.php

2nd problème, à résoudre impérativement (cahier des charges...), pour certains paramètres, par exemple ctgy
ex : www.bidule.com/index.php?page=ctgy&ctgy=vins
j'ai besoin que ça s'affiche comme un sous-domaine genre
vins.bidule.com

Quelqu'un aurait-il une piste ou, le cas échéant, me dire que je vais droit dans le mur ?
rolintoucour est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2011, 21h20   #2
Invité régulier
 
Inscription : mai 2009
Messages : 9
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 9
Points : 8
Points : 8
Salut,
Il faut que t'utilise les fameuses réécritures d'url qui te permettront d'avoir des url propre.
Elles sont gérées par fichier htaccess.
Le web est plein de tuto pour t'apprendre à utiliser ça. J'en suis sur que tu pourras même en trouver sur developpez.com

Tu verras c'est assez simple à mettre en œuvre même pour un débutant.
dedeweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 08h53   #3
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
Pour des url plus propre une solution simple consiste à renvoyer tout le traffic vers ton index :

Code :
1
2
3
RewriteEngine on
RewriteCond %{REQUEST_URI} !/pub/
RewriteRule !\.(js|ico|gif|jpg|JPG|png|css)$ index.php
Ici je redirige tous le trafic vers index.php sauf tout ce qui se trouve dans le dossier /pub/ et les extensions listées.

Puis de découper dans ton controller l'url reçu via :
Code :
$_SERVER['REQUEST_URI']
Du coup une url du genre monsite.com/test/qsd arrivera sur l'index et tu as juste à la découper pour récupérer les éléments que tu souhaites
grunk est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 20/06/2011, 15h49   #4
Invité régulier
 
Homme Laurent
Développeur Web
Inscription : septembre 2010
Messages : 34
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur Web
Secteur : Boutique - Magasin

Informations forums :
Inscription : septembre 2010
Messages : 34
Points : 5
Points : 5
Par défaut Pour les sous-domaines

Cool merci ça a l'air super simple comme ça, et donc pour les sous-domaine je peux récupérer pareil dans mon index mais que pour l'utilisateur l'url continue à avoir une bonne tête ?
rolintoucour est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 16h43   #5
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
Citation:
Envoyé par rolintoucour Voir le message
Cool merci ça a l'air super simple comme ça, et donc pour les sous-domaine je peux récupérer pareil dans mon index mais que pour l'utilisateur l'url continue à avoir une bonne tête ?
Pour les sous domaine il y'a à mon avis une config spécifique à faire coté apache. Regarde également les "wild-card DNS". Mais il est effectivement possible de simuler des sous domaine. On voit ça souvent sur les plateforme de blog qui propose de faire des url du genre http://utilisateur.site.com ou évidemment utilisateur n'est pas un vrai sous domaine mais va pointer par exemple sur http://site.com/blog/utilisateur
grunk est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 21/06/2011, 13h21   #6
Invité régulier
 
Homme Laurent
Développeur Web
Inscription : septembre 2010
Messages : 34
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur Web
Secteur : Boutique - Magasin

Informations forums :
Inscription : septembre 2010
Messages : 34
Points : 5
Points : 5
Par défaut Pour mise en ligne ?

Merci pour votre aide. Je me rend compte que pour rediriger de belles url ça marche niquel.

Par contre pour les sous-domaines, je commence à douter. En effet, localement, avec mon site en
www.bidule.com
truc.bidulle.com est paxs interprété automatique et malgré mon .htaccess mon navigateur ne trouve pas la page.
Après bien sur je peux mettre en dur dans le HOSTS, mais quand je mettrai le site en ligne est-ce que les sous-domaines marcheront automatiquement ou faut-il payer plus cher pour nom de domaine ou hébergement ???
rolintoucour est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 13h44   #7
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
Pour les sous domaine en principe aucun frais supplémentaires. Cependant le serveur doit avoir une configuration qui supporte ce procédé , voir mes liens précédents.
grunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 19h35   #8
Modérateur
 
Avatar de s.n.a.f.u
 
Homme
Développeur Web
Inscription : août 2006
Messages : 2 700
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 37
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : août 2006
Messages : 2 700
Points : 3 357
Points : 3 357
Si je puis me permettre : pourquoi ne pas utiliser les frameworks existants ?

Si ZF est trop gros pour ton projet, tu en as d'autres plus légers, comme CodeIgniter et son fork Kohana que j'aime beaucoup.

Refaire son propre MVC dans un but de formation, c'est parfait. Mais si c'est pour livrer une appli professionnelle, autant prendre les bons outils.
__________________
  • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
  • Merci d'utiliser les balises de code (# dans l'éditeur)
  • Si votre problème est réglé, merci d'utiliser le bouton
S.N.A.F.U
s.n.a.f.u est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h25.


 
 
 
 
Partenaires

Hébergement Web