Atalho para executar o symfony de qualquer subdiretório do projeto

Por padrão o symfony possui o comando “symfony” no shell que permite executarmos as tarefas (limpeza de cache, geraração de models, módulos, etc.) no shell, esse comando deve ser executado por padrão no diretório raiz do projeto symfony, ex:

nei@nei:~/projetos/wr/trunk/$ ./symfony clear-cache

com o este script podemos executar o mesmo comando acima em qualquer diretório do nosso projeto, dentro do diretório de log por exemplo, sem precisar voltar ao diretório root.

nei@nei:~/projetos/wr/trunk/log$ ./sf clear-cache

obs. além de ser possível executar em qualquer diretório, também usamos um alias para facilitar a vida.

Para utilizar esse recurso, siga os passos:

1) Criar um arquivo “/usr/local/bin/sf” com o seguinte conteúdo:


while [ 1 ]; do
if [ -f 'symfony' ]; then

symfony $*
exit $?
fi

cd ..
if [ "$PWD" = "/" ]; then

echo 'cannot find symfony project directory'
exit 1

fi
done

E depois dar um chmod 755 nele.

Aí então poderemos executar qualquer comando do symfony (”sf cc” por exemplo)
dentro de qualquer diretório dentro do wr por exemplo.

Descoberto em http://www.symfony-project.org/snippets/snippet/156