Mostrando postagens com marcador séries. Mostrar todas as postagens
Mostrando postagens com marcador séries. Mostrar todas as postagens

28 fevereiro 2009

David Cummings: Ligue o parâmetro Error Reporting imediatamente

David Cummings tem a sua própria empresa de software que é especialista em sistemas de gerenciamento de conteúdo, e ganhou vários prêmios. Se alguém sabe como desenvolver uma aplicação PHP eficientemente, é o Dave.

David escreveu um artigo para o SitePoint sobre as duas dicas de PHP que ele gostaria de ter aprendido quando começou a programar. Uma das dicas: Ligar o parâmetro Error Reporting imediatamente.

"A coisa mais importante que eu digo as pessoas que utilizam PHP é para ligar o parâmentro Error Reporting para seu nivel máximo. Por que fazer isso? Geralmente os erros são setados para um nível que irá esconder muitas coisas como:
- declarar uma variável antes do tempo,
- referenciar uma variável que não está disponível naquele segmento de código, ou
- usar uma definição que não foi feita
Esses fatores podem não parecer um grande problema -- desde que seu desenvolvimento seja estruturado ou orientado a objetos com funções e classes. Frequentemente escrever um código sem exibição de erros em um nível máximo pode custar horas para verificar funções que não estão funcionando por causa de variáveis que não estão acessíveis ou foram escritas erroneamente"

Exibição de erros pode facilitar e muito encontrar a razão de um erro. Um pequeno bug no código pode ser fácilmente encontrado se a exibição de erros estiver no nível máximo. Poupe-se e deixe que o PHP procure seus erros por você.

Obs.: Este post é o décimo de uma série que mostra dicas de desenvolvimento pelos mestres do PHP. O post original em inglês foi feito pelo Glen Stansberry e pode ser visto clicando aqui

23 fevereiro 2009

Ferramentas Úteis para PHP - Manipulação de Imagens e Gráficos

Continuando a série Ferramentas Úteis para PHP, essa semana iremos falar de ferramentas para manipulação de imagens e criação de gráficos:

PHP/SWF Charts: É uma ferramenta que possibilita a criação de gráficos Web atrativos e animados a partir de dados dinâmicos. Scripts em PHP podem ser usado para pegar os dados de um banco, ou gera-los, e então passa-los para essa ferramenta, que gerará o gráfico em SWF.

pChart: É uma framework com três classes PHP (pChart, pData e pCache) para geração de gráficos em imagens. Os dados para geração dos gráficos podem vir de consultas SQL, arquivos CSV ou geradas manualmente. De uso simples, possui boa documentação.

jpGraph: Uma das mais populares ferramentas de geração de gráficos em PHP. É orientada a objetos e possui duas linhas de versões: as que funcionam com PHP 4 e as que funcionam com PHP 5. Existe ainda uma versão paga com alguns recursos adicionais. Essa biblioteca pode gerar um grande número de tipos diferentes de gráficos de forma bastante simplificada.

WideImage: É uma biblioteca orientada a objetos, desenvolvida em PHP 5, para a manipulação de imagens, de forma simples e eficiente. Por ser completamente desenvolvida em PHP, o unico requerimento, alem do PHP 5, é a extensão do PHP para a biblioteca GD, nessessária para quase todos os manipuladores de imagens.

MagickWand for PHP: É um módulo PHP para a API do ImageMagick, que permite criar, compor e editar imagens em bitmap. Ideal para quem quer incorporar funcionalidades de edição de imagens em alguma aplicação PHP de maneira fácil e rápida.

21 fevereiro 2009

Rasmus Lerdorf: Não utilize um framework PHP

Contrariando o que Josh Sharp pensa, Rasmus Lerdorf, o 'Pai' do PHP, acredita que frameworks não são uma boa. Por que? Porquê eles são muito lentos em comparação com o PHP sozinho.

Durante a apresentação de Rasmus no Drupalcon 2008, ele comparou o tempo de resposta de uma página PHP com um exemplo simples de 'Olá, Mundo' com alguns frameworks PHP, e mostrou que os frameworks são muito lentos em comparação com o PHP.

Você pode escutar ou assistir a apresentação de Rasmus na íntegra. Resumidamente, ele mostra que a performance é prejudicada quando se utiliza um framework PHP.

Obs.: Se você precisa utilizar um framework, Rasmus recomenda o Code Igniter

Obs.: Este post é o nono de uma série que mostra dicas de desenvolvimento pelos mestres do PHP. O post original em inglês foi feito pelo Glen Stansberry e pode ser visto clicando aqui

18 fevereiro 2009

Josh Sharp: Utilize um Framework PHP

Há sempre um grande debate sobre usar um framework como Zend, CakePHP, Code Igniter ou qualquer outro framework. Há vantagens e desvantagens ao utilizar um, e muitos desenvolvedores tem a sua própria opinião sobre isso.

Josh Sharp é um desenvolvedor web que acredita que o PHP é muito fácil de se aprender, e que utilizar um framework traz um ganho de tempo e elimina erros ao programar.

"A facilidade de uso do PHP é também uma desvantagem, pois há menos restrições na estrutura do código que você está escrevendo, portanto é muito mais fácil escrever código ruim. Há uma solução: Utilize um framework"

Frameworks PHP ajudam a padronizar a maneira que você programa, e pode promover um grande ganho de tempo no processo de desenvolvimento. Você pode ler mais sobre os benefícios de utilizar um framework PHP no blog do Josh

Obs.: Este post é o oitavo de uma série que mostra dicas de desenvolvimento pelos mestres do PHP. O post original em inglês foi feito pelo Glen Stansberry e pode ser visto clicando aqui

16 fevereiro 2009

Ferramentas Úteis para PHP - Segurança

Essa semana iremos dar continuidade para a série Ferramentas Úteis para PHP comentando algumas ferramentas para segurança de sistemas desenvolvidos em PHP. Tomem nota:

Securimage: É um script gratuito e open-source para geração de CAPTCHA. Ele consegue gerar imagens complexas e códigos CAPTCHA para proteger formulários contra spam e outros abusos "robotizados".

Scavenger: É uma ferramenta open-source para gerenciamento, em tempo real, de vulnerabilidades. Ela ajuda os administradores de sistemas a responder a caçadores de vulnerabilidades, entre outros, sem a necessidade de "hackea-las" com vulnerabilidades antigas.

PHP-IDS: PHP-Intrusion Detection System é uma camada de segurança simples de usar, bem estruturada, rápida e no estado-da-arte, para aplicações Web baseadas em PHP.

Pixy: PHP Security Scanner: É um programa em java que realiza varreduras automáticas em códigos fontes escritos em PHP 4, destinadas a detectar vulnerabilidades de XSS e Injeção de SQL. Pixy pega um programa em PHP como entrada e retorna uma lista de possíveis vulnerabilidades presentes nele, juntamente com informações adicionais para entendimento das vulnerabilidades encontrada.

É importante também dar uma lida no Top 10 da OWASP que lista as 10 vulnerabilidades mais comuns em websites, descrevendo-as e mostrando formas de sana-las em PHP, Java e ASP.

15 fevereiro 2009

Jack D. Herrington: Utilize processamento em lote

Jack Herrington não é um estranho no PHP e no mundo do desenvolvimento. Escreveu mais de 30 artigos para a prestigiada IBM developerWorks, Jack ainda publicou livros como PHP Hacks.

Herrington recomenda a utilização de processamento em lote e utilização do cron para aquelas tarefas que podem rodar em background.

"Certamente, em alguns pequenos casos, é mais fácil utilizar uma thread para ajudar a realizar pequenos trabalhos. Mas é fácil ver que com o uso de ferramentas convencionais -- cron, MySQL, Orientação a Objetos no PHP e PEAR::DB -- criar trabalhos em lote no PHP é algo simples de se implementar"

Jack acredita na simplicidade, e ao invés de utilizar threading nos servidores ele utiliza a simples combinação de cron, PHP e MySQL para processar tarefas em background.

"Eu já fiz os dois, e acredito que o cron tenha vantagem no princípio KISS - Keep it Simple Stupid(Faça de maneira simples, estúpido). Ele deixa o processamento em background simples. Ao invés de ter processamento de tarefas multithread, com aplicações que executam para sempre, e depois nunca liberam memória, você tem um script em lote que o cron executa. O script determina se tem algo a fazer, faz se tiver, e então termina.. Você não precisa se preocupar com liberação de memória."

Obs.: Este post é o sétimo de uma série que mostra dicas de desenvolvimento pelos mestres do PHP. O post original em inglês foi feito pelo Glen Stansberry e pode ser visto clicando aqui

14 fevereiro 2009

Joey Sochacki: Utilizar melhor as funções de filtros do PHP

Enquanto Joey Sochacki não é um grande nome quanto Matt Mullenweg na comunidade PHP, ele é um desenvolvedor que compartilha dicas no seu blog Devolio

Joey descobriu que, mesmo com as toneladas de filtros que podem ocorrer ao escrever códigos PHP, poucos programadores utilizam as funções de filtro do PHP

"Filtrar informações. Todos nós temos que fazer isso. A maioria, se não de todos nós, desprezam a fazê-lo. No entanto, a maioria são funções filter_* do PHP, que nos possibilita fazer todo o tipo de ordenação e validação. Utilizando essas funções, nós podemos validar tipos de dados, URLs, endereços de email, endereços de IP, retirar caracteres inválidos e muito mais, com relativa facilidade"

Filtrar pode ser complicado, mas pode ajudar imensamente. Com a ajuda de Joey você irá aprender como instalar os filtros e então filtrar quase tudo, tirando vantagem do imenso poder dos filtros do PHP.

Obs.: Este post é o sexto de uma série que mostra dicas de desenvolvimento pelos mestres do PHP. O post original em inglês foi feito pelo Glen Stansberry e pode ser visto clicando aqui

11 fevereiro 2009

Chad Keiffer: Aumentar a velocidade de desenvolvimento PHP com uma IDE, Templates e Snippets

Quando Chad Kieffer não está ocupado trabalhando em interfaces e administrando bancos de dados, ele está dando conselhos no seu blog 2 tablespoons.

Chad acredita que utilizando uma IDE como Eclipse PDT(Pacote de desenvolvimento PHP para o Eclipse), combinando com templates e snippets, a velocidade de desenvolvimento pode ser aumentada.

"Longas listas de tarefas e prazos curtos fazem com que os desenvolvedores não se familiarizem com funcionalidades avançadas que suas ferramentas proporcionam. Isso é uma vergonha pois algumas funcionalidades como Templates podem realmente reduzir o tempo de codificação e os erros."

Obs.: Este post é o quinto de uma série que mostra dicas de desenvolvimento pelos mestres do PHP. O post original em inglês foi feito pelo Glen Stansberry e pode ser visto clicando aqui

09 fevereiro 2009

Ferramentas Úteis para PHP - Documentação

Desculpem a demora para publicar esse artigo (era para ter sido feito ontem), estava procurando mais ferramentas de documentação para complementar a documentação base, mas não encontrei nenhuma que fosse relevante e gratuita.

phpDocumentator: Inicialmente chamado de PHPDoc, possui suas origens na documentação das extensões presentes no PEAR, em 2000, quando o PHP4 acabava de ser lançado. Hoje, é de longe a ferramenta para documentação mais usada, e possui uma inumerável quantidade de recursos, incluindo a capacidade de gerar saídas nos formatos HTML, PDF, CHM e XML DocBook, e duas interfaces (Web e em linha de comando) bem como destaque em cores de acordo com a sintaxe do código fonte (source-code highlighting). Para saber mais a respeito do phpDocumentator, acesse o manual on-line.

PHP DOX: Um sistema de pesquisa em documentação PHP, com funcionalidades em AJAX, que permite a busca por títulos de todas as páginas da documentação do PHP

07 fevereiro 2009

Ben Balbo: Invista em cache de informações

Ben Balbo está escrevendo para o Site Point, um site de tutoriais pare desenvolvedores e designers. Ele faz parte do comitê do Grupo de Usuários de PHP de Melbourne e do Clube de Desenvolvedores de Software Livre. Não é surpresa que ele recomende que um maior tempo seja gasto com cache no PHP.

"Se você tem um site que é predominantemente estático, como um blog, que é administrado por um sistema gerenciador de conteúdo, este terá pequenas alterações apenas, e com um pequeno tempo adicional gasto, é possível ter grandes benefícios de aumento de performance. Utilizar cache para sites mais complexos que geram conteúdo baseado no usuário, como um portal ou um comércio virtual, será um pouco mais complicado, porém os benefícios ainda serão claros"


Há várias técnicas de cache no PHP.
- Chamadas de funções com cache
- Setar cabeçalhos com data de expiração
- Utilizar cache em downloads no Internet Explorer
- Cache através de sistemas de template
- Cache_Lite
e muitos outros. Por causa da natureza dinâmica de linguagens como o PHP, cache é um ponto crítico para guardar aquelas partes da página que são acessadas frequentemente porém não são atualizadas sempre.

Obs.: Este post é o quarto de uma série que mostra dicas de desenvolvimento pelos mestres do PHP. O post original em inglês foi feito pelo Glen Stansberry e pode ser visto clicando aqui

04 fevereiro 2009

Dave Child: Nunca, jamais acredite nos usuários

Dave Child é a mente por trás do site recentemente renomeado Added Bytes(Anteriormente ilovejackdaniels.com), que exibiu as excelentes Planilhas de Dicas para várias linguagens de programação feitas por Dave.
Dave trabalhou em várias empresas de desenvolvimento no Reino Unido e se estabeleceu como uma autoridade no mundo da programação.

Ele oferece alguns sábios conselhos sobre escrita de código seguro em PHP: Não acredite em seus usuários. Eles podem te machucar!

"A regra principal para desenvolvimento web é: Nunca, jamais, acredite nos seus usuários.
Assuma que todo pequeno pedaço de informação que seu site coleta de um usuário contém código malicioso. SEMPRE!
Isso inclui informação que você acha que checou com validações no cliente, por exemplo utilizando JavaScript.
Se você consegue controlar isso, será um bom começo. Se a segurança no PHP é importante para você, esse é o ponto principal a aprender.
Seja paranóico! Se você assume que seu site nunca será atacado, ou jamais enfrentará problemas, então algo está errado e você pode ter sérios problemas.
Porém se você acredita que cada visitante do seu site está pronto para atacar e que você está sempre em guerra, isso irá te ajudar a manter seu site seguro e preparado caso algo dê errado."


Obs.: Este post é o terceiro de uma série que mostra dicas de desenvolvimento pelos mestres do PHP. O post original em inglês foi feito pelo Glen Stansberry e pode ser visto clicando aqui

01 fevereiro 2009

Ferramentas Úteis para PHP - Teste e Otimização

Continuando a série de Ferramentas Úteis para PHP, hoje vamos citar e comentar algumas ferramentas de teste e outras de otimização. São elas:

PHPUnit: É uma ferramenta que porta completamente as funcionalidades de teste unitário do popular JUnit, para o PHP5. É útil para testar a estabilidade e a escalabilidade de aplicações Web. Escrever casos de teste com o PHPUnit é fácil, veja como.

SimpleTest: É uma plataforma, de teste unitário, simples para aplicações PHP. Para começar a desfrutar das funcionalidades do SimpleTest rapidamente, dê uma olhada nesse tutorial que te mostrará como criar um novo caso de teste.


Selenium: Selenium Remote Control (RC) é uma ferramenta de teste unitário que permite escrever testes automatizados para interfaces de aplicações Web, desenvolvidas em qualquer linguagem de programação, em qualquer website usando qualquer navegador que suporte javascript. Pode ser usado em conjunto com o PHPUnit para criar e rodar testes automáticos no navegador Web.

PHP_CodeSniffer: É um script em PHP 5 para detecção de conformidades em relação à um padrão de código PHP preferido. Ele ajuda a manter um estilo de código uniforme em projetos grandes e/ou desenvolvidos por várias pessoas.

dBug: É um clone do cfDump, do Cold Fusion, para o PHP. Ferramenta simples que mostra uma tabela contendo informações sobre arrays, classes e objetos, resources de bancos de dados e XML, tornando-se muito útil quando se quer fazer depuração.


PHP Profile Class: É uma excelente ferramenta PHP para geração de profile em aplicações Web. Usar essa classe ajudará a identificar rapidamente e de maneira fácil, partes do código da aplicação que poderiam ser refatorados e otimizados.

31 janeiro 2009

Matt Mullenweg: Utilize muitas tabelas com PHP e MySQL para escalabilidade

Ninguém precisa questionar a autoridade de Matt Mullenweg com PHP. Ele simplesmente desenvolveu o sistema de blogs mais popular do mundo: Wordpress.

Depois de criar o Wordpress, Matt e companhia lançaram o Wordpress.com, um site gratuito de blogs baseado no Wordpress MU. Atualmente o Wordpress.com hospeda mais de 4 milhões de blogs.
Se alguem sabe criar como criar um site com boa escalabilidade, é o Matt. Em 2006 ele explicou porquê o Wordpress utiliza uma tabela do MySQL separada para cada blog, ao contrário de usar uma tabela gigante para todos os blogs.

"Nós testamos essa técnica para o MU, mas descobrimos que é muito 'caro' escalar após um determinado ponto. Com estruturas monolíticas, você esbarra em uma parede baseada no seu hardware. No MU, os usuários são divididos e é possível particionar facilmente, por exemplo no WordPress.com nós temos usuários particionados entre 4096 bases de dados, o que te permite escalar eficientemente para centenas de milhares e até milhões de usuários com tráfego extremamente alto."


Poder migrar essas tabelas permite que o código e os blogs sejam executados mais rapidamente. Paralelamente, a utilização de cache e o uso inteligente de banco de dados, Matt mostrou que sites extremamente populares como Facebook e Wordpress.com podem administrar incríveis quantidades de informações

Obs.: Este post é o segundo de uma série que mostra dicas de desenvolvimento pelos mestres do PHP. O post original em inglês foi feito pelo Glen Stansberry e pode ser visto clicando aqui

29 janeiro 2009

Rasmus Lerdorf: Somente utilize PHP quando for realmente necessário

Não há pessoa que saiba melhor a capacidade do PHP do que seu criado. Rasmus Lerdorf criou o PHP em 1995, e desde então a linguagem se espalhou na comunidade de desenvolvimento de software, mudando a cara da Internet.
No entanto, Rasmus não criou o PHP com essa intenção. O PHP foi criado com o objetivo de solucionar problemas de desenvolvimento web.

"A motivação nunca foi filosófica ou narcisística. Foi puramente um caso de necessidade de uma ferramenta para solucionar problemas reais relacionados a Web. Em 1994 as opções eram muito limitadas em questão de ferramentas para desenvolvimento Web."

No entanto, você não pode utilizar PHP para tudo. Lerdorf é o primeiro a admitir que o PHP é somente uma ferramenta e tem suas limitações.

"Utilize a ferramenta correta para o trabalho. Já estive em empresas que utilizam o PHP em todas as ocasiões, porém o PHP não foi feito para ser uma linguagem de propósito geral, apropriada para todos os problemas."

Tentar utilizar o PHP para tudo não é eficiente, e certamente não é a melhor utilização do seu tempo como desenvolvedor web. Não tenha medo de utilizar outras linguagens se o PHP não estiver funcionando para seus projetos.

Obs.: Este post é o primeiro de uma série que mostra dicas de desenvolvimento pelos mestres do PHP. O post original em inglês foi feito pelo Glen Stansberry e pode ser visto clicando aqui

25 janeiro 2009

Série Ferramentas Úteis para PHP - Depuração

A partir de hoje iniciarei uma série de 13 posts com o título Ferramentas Úteis para PHP, que serão publicados sempre aos domingos. A cada post serão descritas ferramentas relacionadas com algum tema pertinente ao desenvolvimento PHP, baseando em 50 Extremely Useful PHP Tools.
Para começar a série, iremos falar sobre Ferramentas de Depuração.

Webgrid: É desenvolvido em PHP 5 e consiste em um front-end Web para gerar profile dos scripts a partir do Xdebug. Implementa um subconjunto das características do kcachegrid, instala em segundos e funciona em todas as plataformas. Para otimizações rápidas ele dá conta do recado.



Gubed PHP Debuger: Como o nome indica, é uma ferramenta de depuração para caça aos erros lógicos em scripts PHP.

DBG: É um depurador PHP, robusto e popular, para uso em depuração local e remota. Integra com diversas IDEs e pode ser facilmente usado em linha de comando.

PHP_Debug: É um projeto de código aberto que fornece informações úteis relacionadas com o código PHP que podem ser usadas para depuração. Ele pode mostrar o tempo gasto pelo PHP e pelas consultas SQL, checar o desempenho de determinados blocos de script e obter um dump gráfico de variáveis bem melhor que o var_dump() ou print_r().

PHP_Dyn: outro excelente depurador de códigos PHP de código fonte aberto. É possível rastrear a execução e pegar uma saída com os argumentos e retornos das funções.

MacGDBp: Depurador para Mac OS. Possui todos os recursos esperados de uma ferramenta de depuração completa.


Xdebug: Uma das mais populares extensões de depuração do PHP. Ele fornece diversos dados úteis que ajudam a encontrar rapidamente bugs no código fonte. Possui profile e vem por padrão com o PHP 5. Se integra com os mais populares editores PHP (IDE), como o PHPEclipse, o Zend Studo e o phpDesigner.



Zend Debugger: Para mim, o melhor depurador para PHP da atualidade. É uma extensão do PHP que pode ser instalada em Linux, Mac ou Windows, desenvolvida pela Zend que se integra com o Zend Studio e com o Eclipse PDT, possuindo, inclusive, uma barra de ferramentas integrada ao Firefox, tornando ainda mais dinâmica e prática sua utilização.