PHP é à quinta-feira – Algumas dicas dos gurus do PHP
Por R. Santos para o Pplware
Com a adopção generalizada do PHP, é extremamente fácil encontrar no mundo dos 3 W, scripts que fazem exactamente o que nós queremos. Infelizmente, os iniciantes nesta linguagem não conseguem avaliar o código que está a ser disponibilizado.
Estará optimizado? Será seguro utilizá-lo? Precisam de fontes credíveis, que já provaram que têm conhecimentos sólidos sobre as melhores práticas de PHP.
Aqui poderá encontrar o que alguns gurus do PHP recomendam.
Rasmus Lerdorf – Utilize o PHP apenas quando precisar Não podemos usar o PHP para tudo. Rasmus Lerdorf, o original criador do PHP, é o primeiro a admitir que o PHP é apenas uma ferramenta na sua caixa de ferramentas, é até o PHP tem limitações.
“Utilize a ferramenta certa para o seu projecto. O PHP não foi concebido para ser uma linguagem de uso geral adequada para resolver todos os problemas.”
Usar o PHP para tudo não é eficiente, e isso certamente não é o melhor uso do seu tempo como um Web Developer. Não tenha medo de usar outras linguagens se o PHP não for suficiente para o seu projecto.
Chad Kieffer – Acelere o desenvolvimento com um IDE Chad acredita que ao usar um IDE como o Eclipse PDT com uma mistura de templates de códigos podem acelerar o tempo de desenvolvimento de um projecto.
“Agenda cheia, longas listas sobre o que ainda falta fazer, e os prazos de entregas fazem da vida dos programadores um autêntico stress. Com um IDE e uns templates, como os do Eclipse, pode realmente acelerar o desenvolvimento do seu projecto.”
Ao criar templates de código que iremos usar e voltar a usar, iremos economizar tempo, automatizando as partes de código repetidas.
Joey Sochacki – Faça melhor uso das funções de filtragem do PHP Joey apercebeu-se que, embora que se tenha de filtrar muita informação aquando do desenvolvimento de uma aplicação Web, muitos programadores preferem criar as suas próprias funções, ao invés de usar as funções de filtragem do PHP.
“Filtrar informação. Todos nós o fazemos. A maioria, senão todos, desprezam fazê-lo. No entanto, desconhecidas por muitos, o PHP traz funções de filtragem (filter_*) que nos permitem fazer quase todos os tipos de filtragem. Ao usar estas funções, podemos validar URLs, endereços de e-mails, endereços IP, e muito mais com relativa facilidade.”
A filtragem pode ser uma tarefa árdua, mas com as funções do próprio PHP torna tudo muito mais fácil.
Josh Sharp – Utilize uma framework Sempre houve muito debate sobre se devemos ou não usar uma framework, como por exemplo, Zend Framework, CakePHP, Code Igniter, ou outra qualquer. Existem vantagens e desvantagens inerentes à utilização de uma, e muitos programadores têm a sua própria opinião sobre se deve optar por esta via ou não.
Ele encoraja o uso de frameworks para poupar tempo e eliminar possíveis erros de programação. Porquê? Josh acredita, porque o PHP é muito fácil de aprender.
“Penso que a facilidade do PHP é o grande mal desta linguagem. Porque não há muitas restrições na estrutura do código que os iniciantes programam, então é muito mais fácil escrever mau código. Mas há uma solução: Utilize uma framework.”
As frameworks ajudam-no a estandardizar a maneira como programa, e poupa imenso tempo no desenvolvimento de um projecto.
Rasmus Lerdorf – Não utilize frameworks Ao contrário da crença de Josh Sharp, Rasmus Lerdorf, o padrinho do PHP, acredita que as frameworks não são assim tão boas. Porquê? Porque são mais lenta a executar o código.
Rasmus comparou os tempos de respostas de uma página com um simples “Hello World” através de PHP simples e através de uma framework, e mostrou que as frameworks demoraram bastante mais tempo a apresentar a página do que através de PHP simples.
Dave Child – Nunca, mas nunca, confie nos seus visitantes Quando o assunto é programar de uma forma segura em PHP, Dave Child não se cansa de dizer: Não confie nos seus visitantes. Eles só o podem “magoar”.
“Assuma que cada utilizador que o visita testa a segurança da sua página através dos inputs. Valide sempre os dados inseridos pelos seus visitantes, através de JavaScript (validação client-side) e de PHP (validação server-side). Se a segurança é importante para si, este é a dica mais relevante que lhe pode aprender.”
Por último: “Seja completamente paranóico. Se assumir que o seu website nunca será atacado, ou não tenha venerabilidades, então estamos mal. Mais tarde ou mais cedo acaba por o ser. Se, por outro lado, você assume que cada utilizador que visita o seu website é um possível hacker, ajudará você mesmo a manter o seu website seguro, e estará preparado se alguma coisa correr mal.”
Este artigo tem mais de um ano
Bom post.
Uma correcção só, em Rasmus Lerdorf, “acredita que as frameworks não assim tão boas.” deve faltar um SÃO
Algumas destas frases eu já as tinha lido em inglês, em qualquer lado 🙂
Bom artigo 😀
Já agora, e espero que não leves a mal,
deixo aqui o artigo original no qual penso que te baseaste
http://net.tutsplus.com/articles/10-principles-of-the-php-masters/
E que concordo perfeitamente.
Abraço
Sim, desta vez apenas fiz a tradução 🙂
Sabias que isso se chama plágio?
Estás a apresentar um artigo como sendo original teu e na realidade é apenas uma tradução do trabalho que alguém teve.
Deverias primeiro pedir autorização ao autor original para publicares uma tradução do seu artigo (até porque ele pode estar interessado em adicionar um backtrack ao original) e depois incluir *sempre* um link para o artigo original.
É muito feio querermos ficar com os louros do trabalho dos outros sem lhes darmos o devido crédito!
Pessoal, ali falou-se do Eclipse como IDE para o PHP, pergunto-vos o seguinte:
Já descarreguei o Eclipse, mas versão “standard”, ou seja, vem com as ferramentas para desenvolvimento em Java. Será que consigo reunir as ferramentas de ambas as linguagens (Java e PHP) num só Eclipse, ou é melhor ter duas releases separadas? É só ir aos updates e procurar pelo PDT?
Desculpem a pergunta, mas não costumo programar no Eclipse, e como me queria iniciar com este IDE, tenho estas dúvidas…
Sim podes combinar as duas no eclipse, só tens que alternar entre “views” quando precisares dum workspace mais orientado ao PHP ou mais virado para o Java. E se lhe meteres o Aptana como plugin ainda ganhas mais escolha.
Mas não quero estar a complicar demasiado por isso a resposta é sim, podes combinar as duas caso tenhas descarregado a versão standard e não vejo nenhum inconveniente em agora colocares lá o PDT “em cima”.
Correcção, não é entre “views” que tens que alternar mas sim “perspectives”.
Obrigado Romeu pela resposta. 😉
Foi o que acabei por fazer, já com o Zend Debugger e tudo, e está sobre rodas!
Não sei até que ponto eclipse é melhor, pois não o uso para esses fins.
Já usei aptana e não gostei, dreamweaver também e não gostei. Uso agora Netbeans pois se o objectivo é gerar código deixo aqui que o Netbeans tem o melhor auto completador. Para além de gostar se o usar para me servir de cliente de SVN.
Se alguém discordar força, estou sempre pronto a melhorar 🙂
Há quem defenda que as builds gratuitas do Eclipse são um pouco “fracas” quando comparadas com as builds comerciais (MyEclipse… etc). No entanto tudo se resume ao conhecimento do IDE e à instalação/configuração dos plugins. O Aptana como plugin do eclipse é fabuloso, mas convém não esquecer que o Aptana só tem funcionalidade total durante 30 dias (versão Pro) depois passa a versão standard e perde algumas funcionalidades muito uteis.
Nunca tive queixas do autocomplete do
Eclipse, aliás é extremamente útil quando se usam frameworks como o CodeIgniter, ou libs como o jQuery e poder ter o manual delas completamente integrado no Eclipse para não ter que estar a ir à web consultar que função faz o que.
Tenho-o ligado a um servidor SVN também sem quaisquer problemas, entre muitos outros plugins como o SQL Explorer que é muito útil, etc etc etc…
Se o termo de comparação for como IDE’s para Java então talvez concorde que o NetBeans para um iniciante tenha uma curva de aprendizagem muito menor. Mas para PHP que penso ser o tópico que está aqui em causa, o Eclipse para mim é superior. Não é tão “out of the box” como o NetBeans, mas também não é assim tão complicado adicionar-lhe as funcionalidades que faltam de base.
sejamos pois paranóicos! 🙂