KISS - Keep it simple, stupid!

Criação de projetos customizáveis

postado por João José Pedrini em 30/01/2009 13:55:32
Tags: ,

Vendo o post do MouseCaneta sobre traduzir o template do Bake fiquei um pouco intrigado, ele estava fazendo modificações dentro do /cake/console/libs/templates/skel para que nos próximos projetos ele não tenha re-trabalho. Vendo por este lado, é um esforço justificável, seria interessante eu poder modificar alguma View, ou mesmo já fazer uma seleção de extensões que normalmente uso, etc. e sempre que eu começar um projeto eu já ter todas essas modificações em mãos. O problema está em mexer na pasta /cake. Eu nunca mexo na pasta Cake (enquanto eu ainda não sou um commiter do CoreTeam =D) e o motivo disto é que se por algum acaso eu venha atualizar minha versão do framework, eu não fico dependente. Por isso, li um pouco o código do BakeShell e descobri a solução.

joaojose@bisorrao:~/projetos/cake$ cp -r cake/console/libs/templates/skel/ 
                                   vendors/shells/templates/skel
joaojose@bisorrao:~/projetos/cake$ ls vendors/shells/templates/skel/
total 16
-rw-r--r-- 1 joaojose users 1302 2009-01-30 14:39 app_controller.php
-rw-r--r-- 1 joaojose users 1357 2009-01-30 14:39 app_helper.php
-rw-r--r-- 1 joaojose users 1273 2009-01-30 14:39 app_model.php
drwxr-xr-x 3 joaojose users  135 2009-01-30 14:39 config
drwxr-xr-x 3 joaojose users   50 2009-01-30 14:39 controllers
-rw-r--r-- 1 joaojose users  963 2009-01-30 14:39 index.php
drwxr-xr-x 3 joaojose users   16 2009-01-30 14:39 locale
drwxr-xr-x 4 joaojose users   40 2009-01-30 14:39 models
drwxr-xr-x 2 joaojose users   18 2009-01-30 14:39 plugins
drwxr-xr-x 5 joaojose users   46 2009-01-30 14:39 tests
drwxr-xr-x 6 joaojose users   56 2009-01-30 14:39 tmp
drwxr-xr-x 3 joaojose users   19 2009-01-30 14:39 vendors
drwxr-xr-x 8 joaojose users   90 2009-01-30 14:39 views
drwxr-xr-x 6 joaojose users  126 2009-01-30 14:39 webroot
joaojose@bisorrao:~/projetos/cake$ cake bake project novo_projeto
               -skel /home/joaojose/projetos/cake/vendors/shells/templates/skel/
 
Welcome to CakePHP v1.2.0.7962 Console
---------------------------------------------------------------
App : app
Path: /home/joaojose/projetos/cake/app
---------------------------------------------------------------
Bake Project
Skel Directory: /home/joaojose/projetos/cake/vendors/shells/templates/skel/
Will be copied to: /home/joaojose/projetos/cake/app/novo_projeto
---------------------------------------------------------------
Look okay? (y/n/q)
[y] > y
Do you want verbose output? (y/n)
[n] > n
---------------------------------------------------------------
Created: novo_projeto in /home/joaojose/projetos/cake/app/novo_projeto
---------------------------------------------------------------
 
Creating file /home/joaojose/projetos/cake/app/novo_projeto/views/pages/home.ctp
Wrote /home/joaojose/projetos/cake/app/novo_projeto/views/pages/home.ctp
Welcome page created
Random hash key created for 'Security.salt'
CAKE_CORE_INCLUDE_PATH set to /home/joaojose/projetos/cake in webroot/index.php
CAKE_CORE_INCLUDE_PATH set to /home/joaojose/projetos/cake in webroot/test.php
Remember to check these value after moving to production server

O procedimento é simples, primeiro eu copiei o Skeleton comum do Cake para a pasta /vendors/shells/templates/skel (só para ter um poonto de partida). Fiz as alterações que queria, executei o ProjectTask do BakeShell passando o nome do meu novo projeto e o parâmetro “-skel” com o caminho onde armazenei meu Skeleton modificado. Depois disso é mamão com açúcar.

Tags: ,
Topo

2 Comentários

Creative Commons License
Sou Ágil: KISS em http://kiss.souagil.com.br está licenciado sobre
Creative Commons Attribution-Share Alike 2.5 Brazil License.

souÁgil