site kamppala

Esponho hoje um trabalho de desenvolvimento em PHP, realizado em parceria com a Agência de Publicidade de São Paulo, Comunyk. O cliente é Kamppala, um look book on line.
O sistema tem módulos de cadastro de coleções, lojas e produtos. O site apresenta de forma muito dinâmica os produtos, haja vista que a técnica do AJAX foi muito utilizada, destaque para a lista de desejos, aonde o cliente seleciona os produtos que lhe interessam e enviam para Kamppala.
A Agência de Publicidade Comunika foi responsável pelo desenvolvimento do layout e tableless CSS do site, eu como programador php freelancer, desenvolvi o sistema, toda parte dinâmica do front-end e implementei o AJAX.

Site: http://www.kamppala.com.br

Seguem dicas de performance em PHP. (obs: são mais que 25)

  1. se um método pode ser static, declare-o como static. Isso irá aumentar a performance umas 4 vezes.
  2. echo é mais rápido do que print
  3. utilize o unset nas suas variáveis para liberar memória (bons tempos em que todo mundo sabia programar em C :P.. “free your mallocs”)
  4. não use require_once()
  5. utilize o caminho absoluto na hora de dar os includes, assim o PHP não perde tempo tentando resolver o caminho.
  6. str_replace é mais rápido do que preg_replace porém strtr é umas 4 vezes mais rápido do que str_replace
  7. utilizar @ para suprimir os erros é muito lento.
  8. habilite o mod_deflate no apache
  9. feche a sua conexão com o banco se você não irá mais utilizá-la (mas não fique abrindo e fechando toda hora!)
  10. $row[’abc’]  é 7 vezes mais rápido do que $row[abc]
  11. não use funções dentro de um laço, como por exemplo, for ($x=0; $x < count($array); $x++)  porque count() vai ser executada em todo ciclo do laço. Utilize: for ($x=0, $c=count($array); $x < $c; $x++).
  12. Incrementar uma variável global é duas vezes mais lento do que incrementar uma variável local
  13. acessar um atributo de um objeto ($obj->atributo++, por exemplo) é 3 vezes mais lento do que acessar uma variável local
  14. incrementar uma variável local não inicializada é 9-10 vezes mais lento do que se ela tivesse sido inicializada.
  15. aspas simples são mais rápidas que aspas duplas
  16. uma aplicação que faça cache dos scripts php vai aumentar a performance entre 25 e 100%.
  17. utilize cache sempre que possível. SEMPRE! (claro que isso tem um onus, mas estamos falando apenas em performance aqui)
  18. Se quiser testar o tamanho de uma string, utilize isset ao invés de strlen. Por exemplo: if (!isset($foo{5})) echo “foo eh mto pequeno!”;
  19. nem tudo precisa ser OO. Métodos e objetos tendem a consumir muito mais memória.
  20. não converta toda estrutura de dados em classes. Utilizar arrays é muito mais rápido.
  21. se você possui funções que demandam muito tempo de execução cogite transforma-las em uma extensão em C.
  22. habilitar o mod_gzip pode economizar em até 80% o tráfego de dados. Sua largura de banda agradece.
  23. evite usar SELECT *. Isso dificulta a manutenção e gasta tempo desnecessário de processamento para descobrir os campos e obter os valores do banco
  24. use switch ao invés de um monte de ifs
  25. json é mais rápido do que xml.
  26. Evite utilizar metódos mágicos como __get, __set e __autoload, se possível;
  27. Se você quer descobrir o tempo em que o script começou a ser executado, é preferível utilizar $_SERVER[´REQUEST_TIME´] do que time();
  28. Veja se pode utilizar strncasecmp, strpbrk e stripos ao invés de regex;
  29. Se uma função, como de substituição de strings, aceitar tanto arrays como caracteres simples como argumentos, e se a sua lista de argumentos não é muito longa, considere fazer algumas declarações redundantes de substituição, passando um caractere por vez, ao invés de uma linha de código que aceita arrays como argumentos de busca e substituição; 
  30. Mensagens de erro demandam mais processamento;
  31. Utilize PHP Speedy

fonte: http://webpub.wordpress.com/2007/11/13/vinte-e-cinco-dicas-de-performance-para-php/
http://imasters.uol.com.br/artigo/8962/php/12_dicas_para_otimizar_seus_codigos_php/

Enxugar custos nem sempre é compatível com qualidade. Várias empresas, com o intuito de reduzir seus gastos, acabam delegando o projeto e implantação de seus websites e websistemas aos departamentos de TI ou a profissionais sem a devida qualificação. Então, tem início um longo e acidentado caminho até que se chegue ao site/sistema ideal. Muitas vezes a própria equipe de TI recomenda ao pessoal da empresa que deve se contratar pessoal especializado, mas normalmente, o projeto acaba sendo feito internamente por incompreensão do problema, ou simplesmente por questão de economia.
Após muito insistir em baratear o custo do site (contratando mão-de-obra não especializada) e perceber que o retorno não foi nem um pouco satisfatório, finalmente a empresa decide investir no projeto e entregá-lo a profissionais competentes. A esta altura… “somando o custo dos primeiros projetos mal sucedidos, daria praticamente o que foi gasto na última e feliz tentativa. Tivessem pulado aquelas etapas, o site/sistema sairia por um preço muito inferior e em bem menos tempo”.
Sem dúvida, uma situação perfeitamente evitável, onde a empresa perde tempo e dinheiro e o bom profissional de web perde mercado de trabalho para profissionais inadequados.

Fonte: Revista Webdesign