3.13 La console CakePHP
Cette section est une introduction dans CakePHP depuis la ligne de commande. Si vous avez déjà eu besoin d'accéder à vos classes MVC CakePHP depuis une tâche cron ou tout autre script en ligne de commande, cette section est pour vous.
PHP fournit un puissant client CLI qui rend l'interfaçage avec votre système de fichier et vos applications plus facile. La console CakePHP fournit un framework de création de scripts shell. La console utilise un ensemble de répartiteur de types pour charger un shell ou une tâche, et lui passer des paramètres.
Une installation de PHP contruite avec la ligne de commande (CLI) doit être disponible sur le système où vous prévoyez d'utiliser la console.
Avant d'entrer dans des spécificités, soyons sûrs que vous pouvez exécuter la console CakePHP. Tout d'abord, vous devrez ouvrir un shell système. Les exemples présentés dans cette section sont issus du bash, mais la console CakePHP est également compatible Windows. Exécutons le programme Console depuis le bash. Cet exemple suppose que l'utilisateur est actuellement connecté dans l'invite bash et qu'il est root sur une installation CakePHP.
Vous pouvez techniquement lancer la console en utilisant quelquechose comme :
$ cd /my/cake/app_folder $ ../cake/console/cake
Mais il est préférable d'ajouter le dossier de la console à votre path afin que vous puissiez utiliser la commande cake de partout :
$ cake
Exécuter la Console sans arguments produit ce message d'aide (en anglais à l'heure actuelle) :
Hello user,
Welcome to CakePHP v1.2 Console
---------------------------------------------------------------
Current Paths:
-working: /path/to/cake/
-root: /path/to/cake/
-app: /path/to/cake/app/
-core: /path/to/cake/
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
Available Shells:
app/vendors/shells/:
- none
vendors/shells/:
- none
cake/console/libs/:
acl
api
bake
console
extract
To run a command, type 'cake shell_name [args]'
To get help on a specific command, type 'cake shell_name help'
La première information affichée est en rapport avec les chemins. Ceci est particulièrement pratique si vous exécutez la Console depuis différents endroits de votre système de fichier.
Beaucoup d'utilisateurs ajoutent la console CakePHP à leur path système afin qu'elle puisse être facilement accessible. L'affichage des chemins de workdir, root, app et corevous permet de voir où la Console fera des changements. Pour changer le dossier app par celui dans lequel vous souhaitez travailler, vous pouvez fournir son chemin comme premier argument de la ligne de commande cake. L'exemple suivant montre comment spécifier un dossier app, en supposant que vous avez déjà ajouté le dossier de la console à votre PATH :
$ cake -app /chemin/vers/app
Le chemin fourni peut être relatif au répertoire courant ou fourni sous forme de chemin absolu.


























