PHP es una excelente herramienta, puede ser simple o compleja. Diferentes proyectos deberían usar PHP diferente.
Proyecto pequeño: PHP simple y directo.
Generalmente, para un sitio web con menos de 20 páginas funcionales, podemos usar una estructura de marco muy simple para escribirlo. A esta escala, sugiero utilizar un método de codificación más directo orientado al proceso. La razón es muy simple. No es necesario crear N muchos archivos de clase. Como resultado, solo hay uno nuevo en el controlador. Por supuesto, quedan excluidos los proyectos con requisitos que cambian con frecuencia.
En este nivel, las ventajas de PHP son obvias: desarrollo rápido, claro de un vistazo. Las deficiencias también están bien ocultas.
Proyecto de tamaño mediano: OO PHP bellamente estructurado
. Para un proyecto de tamaño mediano, recomiendo usar un marco bien diseñado. Este marco puede basarse en el modelo MVC y encapsula muchas operaciones subyacentes. Por supuesto, debe haber un buen óptimo. Lo mejor es un mecanismo de caché transparente, para que el mecanismo OO que agregamos para adaptarnos a los cambios pueda ejecutarse más rápido y mejor.
a este nivel. Las deficiencias de PHP comenzaron a surgir, como el soporte OO incompleto (este PHP5 se ha mejorado mucho) y el modo de un solo subproceso. Además, algunas herramientas periféricas están empezando a carecer de soporte. Por ejemplo, PHP no tiene buenas herramientas de refactorización y no existe una buena herramienta de prueba unitaria integrada en el IDE. Las ventajas son, por supuesto, el rápido desarrollo original y la amplia gama de recursos de código abierto disponibles.
Proyectos grandes: PHP extendido y optimizado
Los proyectos grandes aquí simplemente se refieren a proyectos distribuidos, es decir, su programa debe implementarse en N servidores. En este nivel, PHP carece de mucho soporte en comparación con j2ee. He discutido en detalle con Shadow on 735 algunos de los problemas que deben resolverse si PHP se va a aplicar en sistemas grandes. Por supuesto, estos problemas no son solo problemas con el lenguaje PHP, sino que también incluyen problemas con el desarrollo circundante:
1 Compartir código de página PHP, PHP Después de que el código fuente se carga en la memoria una vez, se retiene en ella; esto se puede hacer con APC y los optimizadores de Zend.
2 Compartir objetos de datos entre páginas PHP. Un objeto de datos, como una matriz, se puede compartir entre a.php y b.php. Esto ahora se puede hacer usando la serialización, pero habrá un archivo io. Esto se puede hacer usando compartido. memoria o memcached para manejarlo.
3 grupo de conexiones de base de datos PHP, porque en el caso de múltiples front-end, PHP no puede controlar la conexión a la base de datos, por lo que es necesario crear un grupo de conexiones delante de la base de datos, algo similar a sqlrelay. Además, el almacenamiento en caché de datos también es muy importante. Hay un consejo para el desarrollo de alta presión: no toque la base de datos si puede.
4 Sistema de caché frontal PHP. Un mecanismo de caché transparente y controlable para garantizar que las páginas del sitio web consulten la base de datos la menor cantidad de veces. Hay muchas implementaciones de esto, pero no he encontrado ninguna particularmente buena.
5. Después de que una aplicación PHP resuelva con éxito estos problemas, no tendrá problemas para soportar una presión ligeramente mayor.
En este nivel, es importante integrar PHP, Java, C++, Python y similares para convertirlo en un sistema eficiente. Podemos usar memcached para la administración de memoria distribuida, Lucene para la recuperación de texto completo y contenedores ejb para colocar algunos componentes de lógica de negocios. PHP sirve como pegamento entre el front-end y el sistema para unirlos de manera rápida y flexible.