Je suis encore a l'élaboration de la structure de mon site php. J'aimerai partir sur une structure MVC (on m'a dit que les professionnels travaillaient beaucoup avec ce modèle) et en POO.
Je me suis donc renseigné sur le MVC et j'ai (à peu près) compris le principe de séparer en 3 le code. La seule chose que je n'ai pas compris c'est l'utilisation du fichier index.php qui apparemment serait la base du site et c'est lui qui dirait quel contrôleur appeler. Je ne comprend pas comment il arrive à afficher la bonne vue. J'ai aussi du mal à comprendre le fichier .htaccess mais pour être honnête je ne me suis pas encore beaucoup renseigner sur celui-la.
Voila j'èspère vous allez pouvoir m'éclairer un peu plus
Pour les mvc la structure ce présente différemment en effet tes pages doivent être dans un dossier view->public qui se trouve lui même dans le dossier app. Ensuite ta page index doit être composé en effet de 3 parties le header (avec le menu et ou la sidebar) qui est fixe, le body qui lui doit changer selon ou nous nous trouvons sur le site et enfin le footer qui comme le header doit rester fixe. Pour bien comprendre le principe je te conseil de voir le cours sur symphony2 et puis voir aussi d'autres framework comme cakephp, larave, ou bien le petit dernier Slim.
Même avec les frameworks d'aujourd'hui les développeurs PHP doivent encore passer par un index.php ?
J'aurais pensé qu'ils avaient fait ça bien, et que les installations de type mod_php ou CGI étaient loin derrière.
Mais ce que je n'arrive pas a comprendre c'est comment il arrive à appeler le bon contrôleur. Par exemple, voici un bout de code que j'ai trouvé sur le site. Apparement c'est un fichier index type :
<?php
//On démarre la session
session_start();
//On se connecte à MySQL
mysql_connect('localhost', 'root', '');
mysql_select_db('tests');
//On inclut le contrôleur s'il existe et s'il est spécifié
if (!empty($_GET['page']) && is_file('controleurs/'.$_GET['page'].'.php'))
{
include 'controleurs/'.$_GET['page'].'.php';
}
else
{
include 'controleurs/accueil.php';
}
//On ferme la connexion à MySQL
mysql_close();
C'est au niveau du $_GET['page'] que je ne comprend pas de ou provient sa valeur...
C'est "facile" la fonction $_Get fait référence à un appel ici ça revient à écrire donne moi la page c'est un exemple comme je pourrais écrire $_Get['demo.php']. Dans ton exemple le controleurs fait appel à une page qui se trouve dans le dossier controleurs c'est dans le cas où tu voudrais appeler une page maintenant si c'est un message tu feras $_Post['alert'] je te conseil vraiment d'aller voir l'architecture d'un mvc voir les cours qui y sont posté il sont vraiment complet et tu apprendras plus vite.
C'est vieux ça, mysql_connect ... La POO c'est plutôt
<?php
$bdd = new PDO('mysql:host=localhost;dbname=nom_basededonnées', 'user', 'mdp');
?>
Oui je travail avec PDO, c'était juste dans l'exemple que j'ai trouvé.
mickaelb a écrit:
C'est "facile" la fonction $_Get fait référence à un appel ici ça revient à écrire donne moi la page c'est un exemple comme je pourrais écrire $_Get['demo.php']. Dans ton exemple le controleurs fait appel à une page qui se trouve dans le dossier controleurs c'est dans le cas où tu voudrais appeler une page maintenant si c'est un message tu feras $_Post['alert'] je te conseil vraiment d'aller voir l'architecture d'un mvc voir les cours qui y sont posté il sont vraiment complet et tu apprendras plus vite.
J'ai déjà lu les cours sur le MVC mais ce que je ne comprend pas c'est comment on donne la valeur souhaite a GET['page'].
Par exemple je suis sur la page d'accueil et je veux me rendre sur la page membre ( exemple parmi tant d'autre), comment je donne la valeur 'membre.php' a GET['page'] ?
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
entwanne — @entwanne — Un zeste de Python — La POO en Python — Notions de Python avancées — Les secrets d'un code pythonique