CakePHP en ligne de commande : premiers pas avec la console

Après avoir intégré la console CakePHP dans Eclipse, voyons comment gagner du temps en créant un nouveau projet depuis la console et en générant automatiquement nos Modèles, Contrôleurs et Vues.

1. Création du nouveau projet

Commençons par nous rendre dans Eclipse PDT. Nous allons dans les menus « File » > « New » > « PHP Project » et donnons un nom à notre projet. Eclipse crée le nouveau projet.

2. Copie du squelette de l’application

Lançons maintenant la console CakePHP : nous cliquons sur le dossier racine de notre nouveau projet, puis allons dans les menus « Run » > « External Tools » > « 1 Console CakePHP » > « bake ». Si rien n’apparaît à l’écran, nous devons afficher explicitement la vue de la console en allant dans le menu « Window » > « Show view » > « Console » ou en utilisant le raccourci clavier « Alt + Shift + q » (relâcher) puis la touche « c ». Nous voyons apparaître la fenêtre de dialogue de CakePHP qui nous annonce qu’un squelette d’application va être créé dans le dossier racine du nouveau projet. Nous approuvons (« y » puis entrer, ou simplement entrer, « y » étant la valeur par défaut indiquée entre crochets à gauche du prompt). Si nous voulons voir les détails de l’opération, nous répondons « y » à la question suivante. Nous pouvons voir que tous les fichiers nécessaires à la nouvelle application sont copiés, que le chemin d’accès au Core est renseigné et qu’une nouvelle clé de sécurité a été générée. Nous constatons également que le script s’est terminé automatiquement. Si nous rafraîchissons l’arborescence du projet (F5), nous voyons apparaître les fichiers dans Eclipse.

3. Configuration de l’accès à la base

Nous recommençons exactement la même opération : nous cliquons sur le dossier racine du projet, allons dans « Run » > « External Tools » > « 1 Console CakePHP » > « bake » et affichons la console. Cette fois CakePHP a bien vu que nous avions déjà un squelette d’application, mais les codes d’accès à la base de données sont absents. Nous renseignons les informations demandées, éventuellement pour plusieurs configuration (« default » pour le site en ligne, « test » pour le site en développement local). Là encore le script se termine automatiquement. Si nous rafraîchissons le dossier {app}/config, nous voyons que le fichier database.php a bien été créé avec les bonnes valeurs. N’oublions pas de créer la base dans phpMyAdmin.

4. Notre premier Modèle

Nous restons dans phpMyAdmin et créons une table articles avec un id et quelques champs. Revenons dans Eclipse PDT et lançons pour la troisième fois la console. Cette fois nous arrivons sur l’ »Interactive Bake Shell ». Plusieurs possibilités s’offrent à nous : modifier la configuration d’accès à la base, créer un Modèle, une Vue, un Contrôleur, un nouveau projet, ou quitter. Nous tapons « m » puis entrer pour créer notre premier Modèle. La liste des Modèles possibles en fonctions des tables existantes apparaît, nous choisissons « 1. Article ». Nous pouvons renseigner les critères de validation champ par champ ainsi que les associations entre cette table et d’autres (qui sont proposées automatiquement en fonction de la définition des clés étrangères, à conditions d’avoir respecté les conventions de nommage imposées par CakePHP). Nous validons sans demander la création de la suite de tests, et rafraîchissons le répertoire {app}/models : le fichier article.php est bien présent, avec les règles de validation et les associations éventuelles avec les autres Modèles.

5. Contrôleurs et Vues

Le principe est identique avec la création des Contrôleurs et des Vues, nous pouvons automatiquement créer les actions classiques de consultation (index, view), mais également les actions d’administration (adminindex, adminadd, adminedit, adminview). Nous pouvons ainsi en très peu de temps présenter un brouillon fonctionnel d’application à un client, ou à un prospect dubitatif !

Pierre-Emmanuel Fringant

Articles connexes

Commentaires

Bonjour,

j’ai suivi à la lettre le tuto mais à la création du modèle:

Changing Paths: your working path should be the same as your application path to change your path use the ‘-app’ param. Example: -app relative/path/to/myapp or -app /absolute/path/to/myapp

mais pourquoi donc, et surtout que faire ?

merci d’avance

@lijko Avant le lancer la console il faut se déplacer dans le répertoire /app/ qui correspondant à votre application. Cela pour que la console écrive les fichiers (votremodele.php par exemple) au bon endroit.

Pour simplifier la vie, on peut aussi définir le chemin d’accès vers ce répertoire dans les variables d’environnement de son système. Voyez pour cela dans les screencasts http://cakephp.org/screencasts, c’est assez simple…

merci pour cette réponse;-)

Participez

Pour insérer une portion de code, utilisez <pre lang="php">...</pre>