function function index() PagesController.php

Par dancom, il y a 12 ans


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

Pewel-OutOfNutella, il y a 12 ans

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, il y a 12 ans

Apprécié, merci.

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

Pewel-OutOfNutella, il y a 12 ans

Je n'ai pas compris ta question

dancom, il y a 12 ans

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?

Pewel-OutOfNutella, il y a 12 ans

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.