3.13 O Console do CakePHP
Esta seção introduz a linha de comando no CakePHP. Caso você alguma vez precisou acessar suas classes MVC do CakePHP em um cron job ou outro script na linha de comando, esta seção é para você.
O PHP fornece um cliente CLI poderoso que faz com que a interface com o seu sistema de arquivos e aplicações sejam muito mais simples. O Console do CakePHP possui um framework para a criação de shell scripts. O Console utiliza um configuração semelhante a de um dispatcher para carregar um shell ou uma task e tratar seus parâmetros.
Se você pretende utilizar o Console, uma instalação da linha de comando (CLI) do PHP deve estar disponível no sistema.
Antes de aprofundarmos, vamos nos certificar que podemos executar o Console do CakePHP. Primeiramente você precisará carregar um sistema shell. Os exemplos mostrados nesta seção serão em bash, mas o Console do CakePHP também é compatível com o Windows. Vamos executar o programa Console pelo bash. Este exemplo assume que o usuário está logado em uma linha de comando bash e que está na raíz da instalação do CakePHP.
Você pode executar o Console utilizando algo assim:
$ cd /my/cake/app_folder $ ../cake/console/cake
Mas a utilização recomendada é adicionar o diretório do Console no PATH, desta maneira você pode utilizar o comando cake em qualquer lugar:
$ cake
Executar o Console sem argumentos exibe a mensagem de ajuda:
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'
A primeira informação exibida está relacionada aos caminhos. Isto é muito útil se você estiver executando o Console de diferentes partes do sistema de arquivos.
Muitos usuários adicionam o Console do CakePHP ao PATH do sistema para que ele possa ser acessado facilmente. Exibindo o caminho dos diretórios working, root, app e core permite que você veja onde o Console irá executar as alterações. Para alterar o diretório app que você deseja trabalhar, você pode informar o caminho como primeiro argumento do comando cake. Este próximo exemplo mostra como especificar o diretório app, assumindo que você já adicionou o diretório do Console ao seu PATH:
$ cake -app /path/to/app
O caminho informado pode ser relativo ao diretório de trabalho atual ou pode ser informado como um caminho absoluto.
