{FR} - 2.4.4 Conventions pour les Vues

Les fichiers de gabarits de vue (template) sont nommés d'après les fonctions du contrôleur qu'elles affichent, sous une forme "soulignée" (underscored). La fonction soyezPret() de la classe PersonnesController cherchera un gabarit de vue dans : /app/views/personnes/soyez_pret.ctp

Le schéma classique est "/app/views/contrôleur/nom_de_fonction_avec_underscore.ctp".

En utilisant les conventions CakePHP dans le nommage des différentes parties de votre application, vous gagnerez des fonctionnalités sans les tracas et les affres de la configuration. Voici un exemple récapitulant les conventions abordées :

  • Nom de la table dans la base de données : "personnes"
  • Classe du Modèle : "Personne", trouvée dans /app/models/personne.php
  • Classe du Contrôleur : "PersonnesController", trouvée dans /app/controllers/personnes_controller.php
  • Gabarit de la Vue : trouvé dans /app/views/personnes/index.ctp

En utilisant ces conventions, CakePHP sait qu'une requête à http://exemple.com/personnes/ sera liée à un appel à la fonction index() du Contrôleur PersonnesController, dans lequel le modèle Personne est automatiquement disponible (et automatiquement lié à la table 'personnes' dans la base) et rendue dans un fichier. Aucune de ces relations n'a été configurée par rien d'autre que la création des classes et des fichiers dont vous aviez besoin de toutes façons.

Maintenant que vous avez été initié aux fondamentaux de CakePHP, vous devriez essayer de dérouler le tutoriel du Blog CakePHP pour voir comment les choses s'articulent.

{EN} - 2.4.4 View Conventions

View template files are named after the controller functions they display, in an underscored form. The getReady() function of the PeopleController class will look for a view template in /app/views/people/get_ready.ctp.

The basic pattern is /app/views/controller/underscored_function_name.ctp.

By naming the pieces of your application using CakePHP conventions, you gain functionality without the hassle and maintenance tethers of configuration. Here’s a final example that ties the conventions

  • Database table: "people"
  • Model class: "Person", found at /app/models/person.php
  • Controller class: "PeopleController", found at /app/controllers/people_controller.php
  • View template, found at /app/views/people/index.ctp

Using these conventions, CakePHP knows that a request to http://example.com/people/ maps to a call on the index() function of the PeopleController, where the Person model is automatically available (and automatically tied to the ‘people’ table in the database), and renders to a file. None of these relationships have been configured by any means other than by creating classes and files that you’d need to create anyway.

Now that you've been introduced to CakePHP's fundamentals, you might try a run through the CakePHP Blog Tutorial to see how things fit together.

Differences

Lines: 1-13Lines: 1-12
-<title>View Conventions</title>
<p>View template files are named after the controller functions they display, in an underscored form. The getReady() function of the PeopleController class will look for a view template in /app/views/people/get_ready.ctp. </p>
<p>The basic pattern is /app/views/controller/underscored_function_name.ctp.</p>
<p>By naming the pieces of your application using CakePHP conventions, you gain functionality without the hassle and maintenance tethers of configuration. Here’s a final example that ties the conventions</p>
+<title>Conventions pour les Vues</title>
<p>Les fichiers de gabarits de vue (<em>template&lt;/em>) sont nommés d'après les fonctions du contrôleur qu'elles affichent, sous une forme "soulignée" (<em>underscored</em&gt;). La fonction soyezPret() de la classe PersonnesController cherchera un gabarit de vue dans : /app/views/personnes/soyez_pret.ctp</p>
<p>Le schéma classique est "/app/views/contrôleur/nom_de_fonction_avec_underscore.ctp".</p>
<p>En utilisant les conventions CakePHP dans le nommage des différentes parties de votre application, vous gagnerez des fonctionnalités sans les tracas et les affres de la configuration. Voici un exemple récapitulant les conventions abordées :</p>
 <ul> <ul>
-<li>Database table: "people"</li>
<li>Model class: "Person", found at /app/models/person.php</li>
<li>Controller class: "PeopleController", found at /app/controllers/people_controller.php</li>
<li>View template, found at /app/views/people/index.ctp</li>
+<li>Nom de la table dans la base de données : "personnes"</li>
<li>Classe du Modèle : "Personne", trouvée dans /app/models/personne.php</li>
<li>Classe du Contrôleur : "PersonnesController", trouvée dans /app/controllers/personnes_controller.php</li>
<li>Gabarit de la Vue : trou dans /app/views/personnes/index.ctp</li>
 </ul> </ul>
-<p>Using these conventions, CakePHP knows that a request to http://example.com/people/ maps to a call on the index() function of the PeopleController, where the Person model is automatically available (and automatically tied to the ‘people’ table in the database), and renders to a file. None of these relationships have been configured by any means other than by creating classes and files that you’d need to create anyway.</p>
<p> &lt;/p&gt; /><p>Now that you've been introduced to CakePHP's fundamentals, you might try a run through the <a href="/view/219/blog">CakePHP Blog Tutorial</a> to see how things fit together.</p>
+<p>En utilisant ces conventions, CakePHP sait qu'une requête à http://exemple.com/personnes/ sera liée à un appel à la fonction index() du Contrôleur PersonnesController, dans lequel le modèle Personne est automatiquement disponible (et automatiquement lié à la table 'personnes' dans la base) et rendue dans un fichier. Aucune de ces relations n'a été configurée par rien d'autre que la création des classes et des fichiers dont vous aviez besoin de toutes façons.</p>
<p>Maintenant que vous avez été init aux fondamentaux de CakePHP, vous devriez essayer de rouler le <a href="http://book.cakephp.org/fr/view/219/blog">tutoriel du Blog CakePHP</a> pour voir comment les choses s'articulent.</p>