May 20th, 2009
Muitos programadores, mesmo os mais experientes, cultivam o costume de depurar suas aplicações utilizando funções internas do PHP para parar a execução do script e exibir os dados de uma ou mais variáveis. Contudo, essa não é (como você mesmo já deve ter percebido) uma abordagem muito eficaz para se achar e corrigir problemas no seu código. Além disso, ficar enchendo seu script com die() e var_dump() não é lá uma coisa muito produtiva, seja para depuração ou apenas para entender o funcionamento de algum trecho do seu programa.
Constantemente quem vem de outras linguagens para o PHP me pergunta se há uma forma mais eficiente para depuração no PHP. Algumas vezes até programadores experientes na linguagem me fazem esse tipo de pergunta. Sempre indico as mesmas ferramentas, mas normalmente não se encontra muita leitura explicando o funcionamento e o processo de instalação dessas ferramentas. Nos próximos parágrafos vou falar das ferramentas que utilizo para depuração e explicar como instalá-las e utilizá-las.
Read the rest of this entry »
Posted in PHPEclipse, Depuração, XDebug, Apache, GNU/Linux, PHP | No Comments »
May 6th, 2009
Nessa nossa vida de desenvolvedor, muitas vezes ficamos responsáveis por tarefas que, a princípio, não nos cabem. Seja porque a empresa em que trabalhamos é pequena ou desorganizada, porque somos freelancers, ou porque estamos trabalhando em projetos pessoais.
Uma dessas tarefas que sempre me perseguiu é a administração de repositórios no Subversion. Tudo bem que o svnadmin não é uma ferramenta tão difícil assim de utilizar, mas é bem chato ficar olhando o help sempre que precisa de um repositório novo.
Há algum tempo eu conheci uma ferramenta que facilitou de mais a minha vida: USVN (http://usvn.info/) . Com ela é possível criar e gerenciar repositórios, grupos, usuários e permissão de acesso aos repositórios. Enfim, praticamente tudo o que você precisa para gerenciar seus repositórios no Subversion o USVN tem, com o diferencial de ser com uma GUI amigável
O USVN é escrito em PHP e utiliza o Zend Framework. Pelo que já pude ver no código do projeto, é bem fácil adicionar uma funcionalidade nova caso não exista dentro da ferramenta. E fazer uma extensão do sistema ainda pode te trazer outros benefícios.
Uma coisa que me agradou bastante no projeto é a preocupação da equipe com a qualidade do código. Isso faz com que, ao entrar para ajudar no desenvolvimento do projeto, você deve aprender a trabalhar com algumas ferramentas que aumentam bastante a qualidade do seu software e até a sua produtividade em algumas tarefas repetitivas (testes de unidade, automação de tarefas com o Phing, etc). Uma ótima oportunidade de aprender na prática a trabalhar com algumas ferramentas das quais talvez você só tenha ouvido falar.
Vale muito a pena tanto a utilização da ferramenta quanto a contribuição com o projeto. Fica a dica!
Posted in Subversion, Apache, MySQL, Framework, PHP | No Comments »
May 6th, 2009
Uma rapidinha para voltar às atividades no blog.
Dia 25 de Abril aconteceu em BH o 1º Encontro do PHP MG. Tivemos muitas pessoas no evento e palestras muito interessantes também. Quem não foi perdeu uma ótima oportunidade de conhecer as caras do PHP em Minas.
Ao final do evento alguns integrantes do grupo PHP MG e outros participantes do evento se reuniram em um bar para o 1º PHPinga do PHP MG. O ápice do evento, eu diria
Veja mais informações e links para as fotos dos eventos e slides das palestras no site do grupo: http://www.phpmg.com/.
Posted in PHP MG, Eventos, PHP | No Comments »
May 6th, 2009
Algumas vezes eu prefiro colocar alguns dos sistemas que desenvolvo para serem atualizados via software de Controle de Versões. Contudo, quando você coloca no ar uma cópia do seu repositório, por exemplo, do Suversion, todas as suas pastas terão uma pasta .svn com dados que não são interessantes serem públicos.
Para evitar o acesso a essas pastas (.svn) eu consegui o seguinte comando, que deve ser colocado no .htaccess da raiz de sua aplicação:
RedirectMatch 404 /\\.svn(/|$)
Com isso, mesmo que seu usuário digite o endereço até uma de suas pasta .svn, ele não terá acesso a ela, como se realmente não existisse no servidor.
Posted in Subversion, Apache, PHP | No Comments »
July 1st, 2008
Muitas vezes temos pastas e arquivos que não queremos que entrem nos nossos repositórios ou, quando fazemos builds ou usamos linguagens compiladas não queremos dar commit do resultado sempre. Por exemplo, imagine-se trabalhando num projeto opensource e que você gera pacotes semanais, ou ainda está num projeto escrito em, por exemplo, java, e não quer que a compilação entre no controle de versões.
Nesses casos, você quer que os arquivos .zip, .tar.gz e .bz2 gerados pelo build, ou ainda os arquivos .class gerados da compilação, não apareçam na saída do seu comando de status (svn st).
O Subversion apresenta uma funcionalidade para evitar que esses arquivos sujem a sua saída ao pedir o status da sua cópia local. É a propriedade svn:ignore.
Para usá-la basta fazer da seguinte forma:
$ svn propedit svn:ignore diretorio
Isso irá abrir o editor configurado para o seu ambiente. Agora basta digitar os padrões que devem ser ignorados, por exemplo:
tmp/logs
tmp/cache
*.class
*.zip
*.tar.gz
*.bz2
Salve o arquivo e dê comit pasta:
$ svn ci diretorio
Pronto. Agora sempre que você tiver uma mudança no diretório ‘diretorio’ essa mudança não irá aparecer na saída do ’svn st’.
Uma dica rápida e simples, mas de grande ajuda (principalmente para mim =D).
Posted in Uncategorized | No Comments »