PHP é uma excelente ferramenta, pode ser simples ou complexa. Projetos diferentes devem usar PHP diferente.
Projeto pequeno - PHP simples e direto
Geralmente, para um site com menos de 20 páginas funcionais, podemos usar uma estrutura de framework muito simples para escrevê-lo. Nessa escala, sugiro usar um método de codificação mais direto e orientado ao processo. O motivo é muito simples. Não há necessidade de criar N muitos arquivos de classe. É claro que projetos com requisitos que mudam frequentemente são excluídos.
Neste nível, as vantagens do PHP são óbvias: desenvolvimento rápido, claro à primeira vista. As deficiências também estão bem escondidas.
Projeto de médio porte - PHP OO lindamente estruturado
Para um projeto de médio porte, recomendo usar uma estrutura bem projetada. Essa estrutura pode ser baseada no modelo MVC e encapsular muitas operações subjacentes. A melhor coisa é um mecanismo de cache transparente, para que o mecanismo OO que adicionamos para se adaptar às mudanças possa funcionar mais rápido e melhor.
neste nível. As deficiências do PHP começaram a surgir, como suporte OO incompleto (este PHP5 foi bastante melhorado) e apenas modo single-threaded. Além disso, algumas ferramentas periféricas estão começando a não ter suporte. Por exemplo, o PHP não possui boas ferramentas de refatoração e não existe uma boa ferramenta de teste de unidade integrada ao IDE. As vantagens são, obviamente, o rápido desenvolvimento original e a ampla gama de recursos de código aberto disponíveis.
Grandes projetos – PHP estendido e otimizado
Os grandes projetos aqui referem-se simplesmente a projetos distribuídos, ou seja, seu programa precisa ser implantado em N servidores. Nesse nível, o PHP carece de muito suporte em comparação ao j2ee. Discuti em detalhes com shadow on 735 alguns dos problemas que precisam ser resolvidos se o PHP for aplicado em sistemas grandes. É claro que esses problemas não são apenas problemas com a linguagem PHP, mas também incluem problemas com o desenvolvimento circundante:
1 Compartilhamento de código de página PHP, PHP Depois que o código-fonte é carregado na memória uma vez, ele é retido nela - isso pode ser feito com os otimizadores APC e Zend.
2 Compartilhamento de objetos de dados entre páginas PHP. Um objeto de dados, como um array, pode ser compartilhado entre a.php e b.php. Isso agora pode ser feito usando serialização, mas haverá arquivo io. memória ou memcached para lidar com isso.
3 Pool de conexão com o banco de dados PHP, pois no caso de vários front-ends, o PHP não consegue controlar a conexão com o banco de dados, por isso é necessário criar um pool de conexões na frente do banco de dados, algo semelhante ao sqlrelay. Além disso, o cache de dados também é muito importante. Há uma dica para desenvolvimento de alta pressão, ou seja, não mexa no banco de dados se puder.
4 Sistema de cache front-end PHP. Um mecanismo de cache transparente e controlável para garantir que as páginas do site consultem o banco de dados o menor número de vezes. Existem muitas implementações disso, mas não encontrei nenhuma particularmente boa.
5. Depois que um aplicativo PHP resolver esses problemas com sucesso, ele não terá problemas em lidar com uma pressão um pouco maior.
Neste nível, é importante integrar PHP, Java, C++, python e similares para torná-lo um sistema eficiente. Podemos usar memcached para gerenciamento de memória distribuída, Lucene para recuperação de texto completo e contêineres ejb para colocar alguns componentes de lógica de negócios. PHP serve como cola entre o front-end e o sistema para uni-los de forma rápida e flexível.