Resumo sobre PHP é coisa de cabra macho
Como PHP é uma linguagem de fácil aprendizado todo mundo vira programador PHP. Epa, quem falou que PHP é de fácil aprendizado?
Muitos são considerados programadores ou falam que são quando:
- Enviar email usando a função mail
- Conectar em um banco de dados
- Salvar e Editar dados via form.. dados esses que estão no Banco de dados
- Alterar um arquivo txt
- Criar um cookie ou alterar dados de uma session
Pois é… PHP é muito mais que isso, to falando sério!
A Cristian, mas eu uso um belo Framework de desenvolvimento e tudo que eu faço é em camadas. Show isso em, mas e o que o framework faz em background? Não sou contra o uso de frameworks, mas você precisa saber o pq das coisas.
Vamos a mais alguns itens bacanas que todo programador PHP deveria saber
- Instalar e configurar o PHP e o Apache, não estou falando do wamp ou easy php
- Usar controle de versão em seus projetos
- Desenvolvimento orientado a testes (TDD)
- Orientação a objetos (OO)
- Usar padrões em seus códigos (http://blog.walkeralencar.com/archives/11)
- Documentar todo os arquivos e suas funcionalidades
- Debugar seu projeto, mas não é usar var_dump e sim Xdebug
- Segurança em seus projetos, criptografia de dados e não to falando de MD5 (esse já foi quebrado a muito tempo)
- Validações de toda e qualquer maneira possível (validar arquivos, funções e todas as entradas de dados dos usuários)
Eu conheço tudo isso já, posso me considerar um excelente programador PHP? Não!
Você nunca sabe o bastante, leia os releases de atualizações do PHP.
- Aprenda Smarty
- Não use códigos prontos de fóruns, tutoriais, listas, grupos ou repositório de classes (aprenda com eles e faça o seu)
- Teste, teste, teste e teste novamente.
Na maioria dos casos de invasão a culpa não é do Hardware, sistema operacional ou modelagem da aplicação e sim do programador.
- Não contrate um ‘programador bigode’ por causa de R$ a menos. A economia agora pode ser muito prejuízo depois.
- Obtenha certificação PHP (ainda não tenho), para não falarem que eu disse que o programador só é bom se tiver certificação, existem programadores que são de outro planeta (são excelentes) e nunca chegaram perto de uma certificação.
Então é isso, não faça um curso básico de PHP e saia falando que tu é programador PHP, isso faz com que quase ninguém confie na linguagem e os salários não sejam grandes… Mas se deseja ser um programador bigode vá aprender Java (não gosto dele mesmo).
[update] Só para lembrar eu não estou chamando os programadores Java de bigodes.. Conheço excelentes programadores Javas. [/update]
As melhores fotos sobre PHP é coisa de cabra macho
Vídeos incríveis sobre PHP é coisa de cabra macho
Clique na imagem para assistir
Clique na imagem para assistir
Clique na imagem para assistir
Clique na imagem para assistir
Clique na imagem para assistir
Clique na imagem para assistir
Clique na imagem para assistir
Clique na imagem para assistir
Comentários
Muito bom o post :)
Acho que as dicas que vc deu não valem só para PHP, mas para qualquer um que deseje programar decentemente.
Programador PHP que não sabe instalar um Apache, um SGBD e botar o PHP pra rodar em cima é triste…
Concordo com quase tudo, mas quando você fala em TDD, você diz que considera que um bom programador php PRECISA usar TDD? Ou precisa apenas saber como usá-lo? Eu por exemplo sei TDD mas não uso diariamente pois não acho uma boa “filosofia” de desenvolvimento…
Ola @guilherme você fez sua escolha.. É disso que estou falando, conhecer e saber se é bom ou não… por exemplo eu não uso frameworks.. mas isso não me torna um programador ruim ou que eu não conheça frameworks.
[]s
Belo post, mas algumas observações:
- Debug linha a linha / depuração torna-se obsoleto quando você usa TDD. O objetivo dos teste unitários é justamente esse, apontar os erros diretamente na raiz do problema, sem que você tenha que ficar caçando. De qualquer forma, é bom conhecer ambos.
- MD5 não foi quebrado porque não é criptografia, é hashing. O máximo que você pode fazer é prever uma colisão (quando duas entradas produzem o mesmo hash). De qualquer forma, é sempre recomendado usar um “salt” para evitar engraçadinhos tentando gerar colisões artificiais.
Alguns itens desse howto, também são bem interessantes.
http://samizdat.mines.edu/howto/HowToBeAProgrammer.html
oi amigo, vou colocar esse post la no meu site tb ok? vou manter io credito, grande abraço…
Algumas considerações…
- Desenvolvimento orientado a testes (TDD)
Ok ok, é uma ótima pedida isso! Mas o TDD começou a tomar a proporção que tem a muito pouco tempo. Acho inválido colocar que ‘tu só é programador php se sabe isso’;
- Aprenda Smarty
Aprendendo Smarty tenho mais chances de ser considerado programador php? oO
Na minha opinião, tu só poderá ser considerado programador php quando tu souber de todas as suas funcionalidades, seus melhores métodos, o que ele pode te proporcionar de melhor na resolução de problemas. Ou seja, tu só poderá ser considerado programador php depois de MUITO estudo e MUITA convivência com a linguagem. Saber como criar uma aplicação OO correta, uma aplicação segura… Ou seja, o que tu colocou como outros itens.
Agora, ser obrigado a conhecer alguma aplicação específica, acredito que não é por ai…
No resto, parabéns pelo post. Tirando a parte do Smarty e a pequena objeção referente a TDD (lembrando: ela é essencial já!), concordo com muita coisa do que tu falaste ;)
Anderson, tudo o que falamos é um conjunto. Por exemplo, ninguém precisaria saber usar um controle de versão para ser considerado programador. Mas gostaria de ouvir seu ponto de vista sobre o Smarty.
Excelente!
Tem um povo de design que sisma em dizer “se preciso for também programo em php” só porque sabe fazer form. Difícil viu.
(Claro que não quis dizer que um BOM profissional não possa ser design e programador ao mesmo tempo)
Achei válido.
Sou programador Ruby e a mensagem que poderíamos passar a outros programadores é semelhante:
Se você procura ser um programador Ruby (ou PHP), não se contente em conhecer comandinhos, nem em fazer um simples projeto com CRUD basicão: Entenda os paradigmas da linguagem, isso sim é essencial e o principal passo para se tornar um conhecedor da linguagem.
Também não acho que TDD define se a pessoa é um bom programador ou não, mas tenho plena certeza de que te quebra um galhão!!!! Não sei como vivia sem isso antes… hehehehe…
o
PHP realmente é coisa de MACHO. Eu faço minhas experiências às vezes, mas não me peça pra configurar o server. O apache não foi feito pra mocinhas! heiaheaiheia
Muito bom o post Cristian!
Realmente são coisas essenciais que um programador de verdade precisa saber.
A configuração do Apache pode significar o sucesso ou o fracasso do seu site/sistema em momentos críticos.
Não dá pra deixar somente na mão do programador essa responsabilidade, é necessário um operador/arquiteto/administrador de sistemas qualificado na tecnologia (Apache). Mas isso não significa que o programador deva ser ignorante em relação ao servidor http.
Muito bem você esta de parabéns! Já estava começando a pensar que estava começando a ficar em instinção.
Poxa depois de ler este texto vou direto pro banheiro aparar o bigode ;)
iai tudo joia?
olha eu aprendi na raça o php e lendo o manual (o ingles) (Inicialmente agredeço aos tradutores e ao google translate rsrsr). mais otimo tutorial esse seu e uma coisa que tbm não gosto de usar são os frameworks reconheço que são uma evolução para desenvolvimento rapido mais não uso???
vlww abraços
Sou programador php a 5 anos, é maravilhoso tudo isso que você disse, mas quem trabalha em fabrica de sites, sabe muito bem que não existe tempo para ficar testando incansavelmente e talvez até criando um padrão fixo, eu ja trabalhei em fabrica de software e de sites, existe uma grande diferença, as vezes o programador se preocupa com tudo, ou quase tudo, mas nem sempre lhe é permitido aplicar tudo.