Cómo utilizar PHP para desarrollar sistemas WEB eficientes
Proyecto pequeño: PHP simple y directo
En términos generales, para sitios web con menos de 20 páginas funcionales, podemos usar una estructura de marco muy simple para escribir. A esta escala, recomiendo utilizar un enfoque de codificación más directo orientado a procesos simplemente porque no necesita crear un archivo de clase, solo un nuevo controlador. Por supuesto, quedan excluidos los proyectos con requisitos que cambian con frecuencia.
A este nivel, las ventajas de php son obvias: desarrollo rápido, claro de un vistazo. Las deficiencias también son evidentes.
Proyectos de tamaño mediano: OO PHP bellamente estructurado
Para proyectos de tamaño mediano, recomiendo usar un marco bien diseñado, que puede basarse en el modelo MVC y encapsular un gran Por supuesto, también debe haber un buen mecanismo de almacenamiento en caché, preferiblemente transparente, para que los mecanismos OO que agreguemos para adaptarnos a los cambios puedan ejecutarse más rápido y mejor.
En este nivel, las deficiencias de PHP comienzan a aparecer, como el soporte OO incompleto (PHP5 ha mejorado mucho esto) y solo admite el modo de subproceso único. Además, algunas herramientas periféricas han comenzado a tener soporte insuficiente. Por ejemplo, PHP no tiene buenas herramientas de refactorización y no existe una herramienta de prueba unitaria que esté bien integrada en el IDE. Por supuesto, los puntos fuertes de PHP son su rápido desarrollo y la amplia gama de recursos de código abierto disponibles.
Proyectos a gran escala: PHP extendido y optimizado
Los proyectos a gran escala aquí son simplemente 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 extensamente con Shadow on 735 algunos de los problemas que deben resolverse al usar PHP en sistemas grandes y, por supuesto, estos son problemas no solo para PHP como lenguaje, sino también para el desarrollo que ocurre a su alrededor:
1 Código de página PHP**** disfruta de que el código fuente PHP permanezca en la memoria después de cargarse una vez; APC y los optimizadores de Zend pueden manejar esto.
2 Objetos de datos de página PHP **** compartidos, a.php y b.php pueden **** compartir un objeto de datos, como una matriz, que ahora se puede serializar, pero habrá un archivo io, esto se puede manejar a través de **** memoria compartida o memcached.
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 de la base de datos, por lo que es necesario crear un grupo de conexiones delante de la base de datos, algo así como sqlrelay. Además, el almacenamiento en caché de datos también es muy importante. Hay un consejo para el desarrollo de gran presión, es decir, la base de datos no se puede mover ni mover.
4 Sistema de caché front-end PHP. Un mecanismo de almacenamiento en caché transparente y controlable que garantiza que las páginas del sitio web consulten la base de datos la menor cantidad de veces. Hay muchas maneras de hacer esto, pero no he encontrado ninguna particularmente buena.
Cinco aplicaciones PHP que abordan con éxito estos problemas no tendrán problemas para manejar un estrés ligeramente mayor.
A este nivel es muy importante integrar lenguajes como PHP java C++ python para que sea un sistema eficiente. Podemos usar memcached para la administración de memoria distribuida, Lucene para búsqueda de texto completo y contenedores ejb para colocar algunos componentes de lógica de negocios, mientras que PHP actúa como pegamento entre el front-end y el sistema, uniéndolos todos de manera rápida y flexible.