Bonjour.

Concernant ce tutoriel:
http://www.grafikart.fr/tutoriels/php/developper-site-jour2-structure-php-184

Dans ce fichier-ci :
\www\controller\PagesController.php

Ce code :

<?php 
class PagesController extends Controller{

    function index(){
        $this->render('index'); 
    }
}

la fonction "function index()..." c'est pas la pour éviter de tapper le url "/pages" ?

Et c'est normal que les fichiers ne finisse pas la balise de fermeture de PHP tel ce code :

?>

Au passage, si je tombais sur une page avec des erreurs PHP parce que j'ai juste écris
le nom de domaine dans le navigateur, c'est certain que je ne resterais pas dans le site.
Donc, il faudrait ajouter la possibilité de faire une page par défaut quand on entre
dans le site.

Si je tape http://mondomaine.com et que je me redirige vers la page par défaut.

Ça serait apprécié vu que je bloque à cet endroit avant de continuer mon projet.
Merci.

5 réponses


La fonction index() d'un controlleur, c'est le point d'entrée si tu ne met aucune autre variable dans l'url.

Par exemple, /pages va te renvoyer vers le controlleur pages, action index.
Tu pourrais mettre /pages/index, ça reviendrait au même
Ainsi, /pages/showAll pourrait te renvoyer vers le controlleur pages, action showAll

Les balises fermantes php ne s'utilisent plus pour plusieurs raisons :
-elle est optionnelle
-afin d'éviter les erreurs par ajout de caractères ou espaces après la balise fermante

Je t'invite à fermer ta balise php, sur n'importe quel fichier, et ensuite ajouter qqchose derrière cette balise fermante.
Enjoy the error now !

Pour ta page par défaut, normalement dans les routes tu définis quel controlleur prends la racine de ton site

Exemple de route en cakePhp:

Router::connect('/', array('controller' => 'home', 'action' => 'index', 'home'));

Exemple de route en sf :

homepage:
  url: /
  param: { module: default, action: index }
dancom
Auteur

Apprécié, merci.

Une précision, en utilisant le tutoriel sans framework ajouté, c'est à dire, juste les fichiers du tutoriels d'ici?

Je n'ai pas compris ta question

dancom
Auteur

Je n'utilise pas cakephp ni sf, mais juste du PHP.
Alors, le fichier et le code à modifier pour faire en sorte de ne plus être obligé de taper /pages pour entrer dans le site, c'est quoi?

Je n'ai pas suivi le tutoriel de Grafikart sur ce framework fait maison mais je pense que comme les autres il a une gestion des routes.

Il faudrait que, là où sont déclarées tes routes, tu ajoute une route sur la racine te redirigeant vers le controlleur que tu veux.