Dirección original: http://nettuts.com/tutorials/php/10-principles-of-the-php-masters/
Traducción y edición: Andrew, indique la fuente si necesita reimprimir.
1. Utilice PHP cuando sea correcto - Rasmus Lerdorf
Nadie entiende dónde se debe usar PHP de manera más racional que Rasmus Lerdorf, el creador de PHP. Lanzó el lenguaje PHP en 1995. Desde entonces, PHP ha sido como un incendio en la pradera, quemando todo el campo de desarrollo. Internet. Sin embargo, Rasmus no creó PHP por este motivo. PHP nació para resolver problemas prácticos de los desarrolladores web.
Como muchos proyectos de código abierto, PHP se ha vuelto popular. La motivación de su popularidad no puede explicarse por la filosofía normal, e incluso es tan popular que resulta algo autoadmirable. Se puede utilizar como un caso, un caso causado por la necesidad de herramientas para resolver diversos problemas web. Por lo tanto, cuando apareció PHP por primera vez, todas esas necesidades de herramientas se centraron en PHP.
Sin embargo, no se puede esperar que PHP resuelva todos los problemas. Lerdorf es el primero en admitir que PHP es solo una herramienta y que hay muchas situaciones en las que PHP está más allá de sus capacidades.
Elija la herramienta adecuada para el trabajo. He acudido a muchas empresas para convencerlas de que implementen y utilicen PHP, pero esto no significa que PHP sea adecuado para todos los problemas. Es solo un lenguaje de programación front-end que puede resolver la mayoría de los problemas.
Como desarrollador web, intentar resolver todos los problemas con PHP no es científico y es una pérdida de tiempo. Cuando PHP no funciona, no dudes en probar otros lenguajes.
2. Utilice almacenamiento de tablas múltiples para mejorar la escalabilidad: Matt Mullenweg
Nadie quiere cuestionar la autoridad de Matt Mullenweg en PHP. Desarrolló el sistema de blogs más popular del planeta (respaldado por una comunidad sólida): WordPress. Después de crear WordPress, Matt y. Su equipo lanzó la plataforma WordPress.com, un sitio de blog gratuito basado en WordPress MU. Hoy en día, WordPress.com tiene aproximadamente 4 millones de usuarios, que contribuyen con más de 140.000 publicaciones cada día. (Para ver más estadísticas de WordPress.com, haga clic aquí).
Si alguien sabe cómo hacer que un sitio web escale fácilmente, ese es Matt Mullenweg. En 2006, Matt realizó mejoras a la estructura de datos de WordPress y explicó por qué WordPress MU usa tablas MYSQL independientes para cada blog en lugar de meter todos los datos del blog en una tabla enorme.
Probamos este enfoque, pero lo encontramos demasiado costoso para escalarlo. Si utiliza una estructura de datos general, enfrentará problemas de hardware del servidor ante un gran tráfico. Dentro de MU. Los usuarios se distribuyen en tablas separadas y se pueden organizar fácilmente. Por ejemplo, WordPress.com almacena datos de usuarios en 4.096 bases de datos. Estas bases de datos pueden dispersar el acceso a datos a gran escala y desviar el tráfico y la presión.
La portabilidad de las tablas de datos permite que el código (blog) se ejecute más rápido y hace que el sistema sea más escalable. Basándose en poderosas estrategias de almacenamiento en caché y estrategias flexibles de utilización de bases de datos, Matt mostró a la gente que los sitios más populares de Facebook y WordPress.com pueden ejecutarse de manera estable bajo PHP y manejar una cantidad asombrosa de tráfico.
3. Nunca confíes en los usuarios: Dave Child
Dave Child es el corazón de Added Bytes (anteriormente ilovejackdaniels.com), un sitio famoso por sus excelentes hojas de trucos para muchos lenguajes de programación. Dave trabaja para varias empresas del Reino Unido y se ha consolidado como una autoridad en el mundo de la programación.
Dave ofrece muchos consejos reflexivos para los desarrolladores de PHP, resumidos en "escribir código seguro en PHP": Nunca confíes en tus usuarios, incluso pueden hacerte daño.
Hay un principio básico del desarrollo web que no puedo repetir lo suficiente: nunca confíes en tus usuarios y asumas que cada unidad de datos en tu sitio web es código malicioso recopilado de los usuarios. Muchas veces, debe usar JavaScript para verificar el contenido enviado por el formulario en el cliente. Si está acostumbrado a esto, entonces es un buen hábito. Si la seguridad es importante para usted, este es el principio más importante que debe aprender.
Dave está actualmente trabajando en la recopilación de ejemplos para su serie de libros "Writing Secure PHP". Al final del libro, dijo:
Finalmente, vuélvete un poco paranoico. A menos que crea que su sitio nunca será atacado, enfrente el problema de frente, porque cuando suceda, estará en una mala situación. Es necesario considerar a cada usuario como un hacker que provocará un ataque y una defensa en el sitio, hará todo lo posible para proteger la seguridad del sitio y, al mismo tiempo, pensará en soluciones a los problemas correspondientes.
4. Utilice más el almacenamiento en caché de PHP: Ben Balbo
Ben Balbo desarrolla Site Point, un sitio web que proporciona orientación a desarrolladores y diseñadores. Es miembro del Club de código abierto y desarrollo PHP de Melbourne, por lo que tiene cierto conocimiento de PHP y ciertas ideas y experiencia en el almacenamiento en caché de PHP.
Si tienes un sitio que tiene mucho tráfico pero no se actualiza con frecuencia (como un blog, basado en algún tipo de CMS), tal vez necesite algunas modificaciones. Estas modificaciones no tomarán demasiado tiempo, pero sí supondrán un importante cambio. contribución al rendimiento. Si desea establecer un mecanismo de almacenamiento en caché para un sitio complejo/que se actualiza rápidamente, el proceso puede ser tortuoso, pero los beneficios son obvios.
Hay muchas tecnologías de almacenamiento en caché de PHP. Ben nos recomendó las siguientes:
función de almacenamiento en caché resultados de ejecución configuración del tiempo de caducidad plantilla de archivos de almacenamiento en caché tecnología de almacenamiento en caché descargada por IE.
Cache_Lite
Debido a las características de PHP como lenguaje dinámico, el mecanismo de almacenamiento en caché es muy importante para sitios que no se actualizan con frecuencia.
5. Acelere el desarrollo de PHP con IDE, plantillas y fragmentos: Chad Kieffer
Cuando Chad Kieffer esté lejos del trabajo de optimización de bases de datos y diseño de interfaz de usuario, compartirá mucha experiencia técnica en su blog 2 cucharadas. Debido al desarrollo integral de Chad en muchos aspectos, a menudo puede encontrar problemas que otros programadores no pueden encontrar y adquirir experiencia relevante, especialmente su método de desarrollo de sitios web. Está involucrado en todos los aspectos del desarrollo de sitios web, por lo que sus consejos son muy útiles para mejorar el panorama general del desarrollo de sitios web.
Chad piensa usar Eclipse PDT
(Paquete de desarrollo PHP de Eclipse) Un IDE de este tipo, aunque utiliza algunas tecnologías de plantilla y proyectos de código abierto, puede aumentar efectivamente la velocidad del desarrollo PHP.
Los planes ajustados, las largas listas de tareas pendientes y los plazos de entrega frustran mucho a los desarrolladores. Sin embargo, algunas funciones, como las plantillas de Eclipse, pueden reducir eficazmente el tiempo de codificación y la posibilidad de errores.
En términos generales, cualquier proyecto se puede automatizar y cuanto mayor sea el grado de automatización, menor será el tiempo que le llevará completar el proyecto. Tomarse el tiempo para desarrollar marcos y plantillas que se utilizarán con frecuencia le permitirá ahorrar aún más tiempo en el futuro. Al mismo tiempo, al utilizar un IDE como Eclipse y el paquete PDT, encontrará que su eficiencia mejora significativamente. El IDE puede cerrar automáticamente, completar puntos y comas y depurar localmente.
Publicaciones relacionadas:
WordPress se actualizó con éxito a 2.3.2. Aunque las etiquetas no me sirven, aún así actualicé por razones de seguridad. Realmente necesito una copia de la actualización de 2.0.5 hace dos años a la 2.3.2 actual. Coraje y determinación, afortunadamente no hubo problemas al ejecutar la actualización localmente, pero las funciones de la plantilla necesitaban algunas modificaciones simples. La actualización en línea se realizó sin problemas. Mucha gente se preguntará: ¿no acabas de publicar una publicación pidiendo ayuda con el método de actualización? Bueno, he encontrado la mejor herramienta, el complemento de actualización automática de WordPress. Este complemento de actualización automática de WordPress realmente hace que su actualización sea sin preocupaciones, porque hará una copia de seguridad de todos los archivos y datos antes de actualizar. ". ", creo que es muy adecuado para blogueros que no quieren preocuparse por la actualización. Sin embargo, hay un problema con la función de exportación después de la actualización. No se puede encontrar. No sé si este problema es común o es un problema con mi blog. Amigos que tengan el mismo problema, déjenme un mensaje e investigaré una solución. (Después de la investigación, se descubrió que resultó ser un problema con la ruta de acceso en el complemento coolcode. Siempre que se cancele la activación de este complemento, la función Exportar se puede usar normalmente) ...
¿Alguien tiene experiencia actualizando desde WordPress 2.0? Descargué wordpress-2.3.2 hoy. Originalmente quería actualizar, pero descubrí que el salto de versión es bastante grande y los cambios en la estructura de datos parecen ser bastante grandes. El riesgo es demasiado grande, así que lo dejé por el momento. ¿Quién? Un amigo tiene experiencia en la actualización de WordPress de 2.0 a 2.3. Muchas gracias. ...
Traducción: "14 excelentes herramientas para webmasters" (Parte 2) Texto original: http://www.conversion-rate-experts.com/articles/understanding-your-visitants/ Este artículo está escrito por Andrew ( http://www. achome.cn ) se traduce de forma independiente. Si necesita reimprimir, indique la fuente. Los usuarios son el mejor personal de publicidad y ventas, ven y escucha cómo lo promocionan, Rey de Invita Amigos. ¡Experiméntalo ahora! ¿Tienes un sistema de recomendación de usuarios? Un sistema que permite a los usuarios enviar mensajes para invitar a amigos. Podemos ver que las cartas enviadas por estos usuarios contienen la respuesta a la pregunta "¿Por qué los usuarios gastan dinero en su sitio web?" Mucha gente dedica mucho tiempo a posicionarse y desarrollar palabras publicitarias atractivas, pero a través de los testimonios de los usuarios podrás descubrir por qué los usuarios te prefieren. Recopile fácilmente los comentarios de los usuarios, Kampyle. ¡Pruébelo ahora! Kampyle permite a los usuarios enviar comentarios en su sitio web (a través de un pequeño botón en la parte inferior de la página). Después de hacer clic, aparecerá una ventana para que los usuarios completen sus opiniones y sugerencias. Los webmasters pueden iniciar sesión en el sitio web oficial de Kampyle para ver y administrar los comentarios recopilados de los usuarios. Si los usuarios dejan sus direcciones de correo electrónico, los webmasters pueden notificar fácilmente a los usuarios que han recibido comentarios y realizarán las mejoras correspondientes. ...
6. Haga un buen uso de las funciones de filtro de PHP: Joey Sochacki
Quizás Joey Sochacki no sea tan famoso como Matt Mullenweg, pero también es un desarrollador experimentado y comparte mucha experiencia técnica a través de su blog Devolio.
Joey descubrió que escribir código PHP hay. Hay muchos lugares que deben filtrarse en el proceso, pero no muchos programadores prestan atención a la función de filtrado incorporada de PHP.
Filtrar datos es algo que a menudo necesitamos hacer, pero se desconocen muchas funciones de filtrado integradas de PHP ricas en funciones. Utilizando funciones integradas de PHP como filter_*, podemos manejar casi todas las tareas de filtrado, incluida la validación del tipo de datos/URL/correo electrónico y la validación de direcciones IP/procesamiento de caracteres especiales, etc.
El filtrado es algo complicado, pero creo que el descubrimiento de Joey te dará mucha inspiración y te permitirá darte cuenta de la poderosa función de filtrado de PHP.
7. Utilice el marco PHP - Josh Sharp
Ha habido mucha controversia sobre si se debe utilizar Zend, CakePHP, Code Igniter u otros marcos PHP, pero en la mente de los desarrolladores web, tienen sus propios estándares de medición.
Josh Sharp creó su propio sitio web básico, por lo que tiene cierta experiencia en el uso de marcos PHP para desarrollar sitios web. Él cree que el uso de un marco PHP para el desarrollo de proyectos puede ahorrar tiempo y reducir la posibilidad de errores. ¿Por qué? Porque cree que es realmente fácil comenzar con PHP.
La facilidad de uso de PHP a veces tiene sus desventajas, porque su sintaxis suelta a menudo conduce a la creación de muchos códigos erróneos. Pero si utiliza un marco PHP, la posibilidad de errores se reducirá considerablemente.
El marco PHP puede hacer que la estructura de su código sea más estandarizada y ahorrar mucho tiempo. Puede leer "Beneficios de usar un marco PHP" para obtener información más relevante.
8. No utilices frameworks PHP: Rasmus Lerdorf
es exactamente lo contrario del punto de vista de Josh. Rasmus Lerdorf, el creador de PHP, cree que es mejor no utilizar frameworks PHP. Porque PHP que no está basado en un marco funciona mejor.
En su discurso en Drupalcon 2008, Rasmus utilizó el ejemplo "Hello World" para comparar el rendimiento entre algún framework PHP y PHP simple. Los resultados mostraron que el rendimiento del framework PHP estaba muy por detrás.
9. Utilice el procesamiento por lotes: Jack D. Herrington
Jack Herrington no es ajeno al mundo PHP y ha contribuido con más de 30 artículos al famoso IBM DeveloperWorks y también ha publicado el libro "PHP Hacks", por lo que es un verdadero experto.
Herrington recomienda utilizar el procesamiento por lotes y Cron para reemplazar los scripts de programas que pueden ejecutarse en segundo plano. Los usuarios web no están dispuestos a esperar su procesamiento en línea, por lo que algunas cosas son más adecuadas para procesarse en segundo plano.
Por supuesto, esto es excesivo en algunos casos, pero se puede ver claramente que crear una herramienta de procesamiento por lotes utilizando Cron, MySQL, métodos orientados a objetos PHP y Pear::DB no es una tarea sencilla.
Jack cree que usar cron, PHP y MySQL para procesar algunas tareas en segundo plano es mucho más rentable que la lógica empresarial multiproceso.
He probado ambos métodos y creo que Cron es muy consistente con el principio "Keep It Simple, Stupid" (KISS), que simplifica el procesamiento en segundo plano. En comparación con la lógica empresarial multiproceso, no existe riesgo de desbordamiento de memoria. Puede crear un script por lotes simple y ejecutarlo en cron. Este script verificará periódicamente si hay tareas que deban procesarse y saldrá automáticamente después del procesamiento, por lo que no tiene que preocuparse por si un proceso está bloqueado o no. atrapado en un bucle infinito.
10. Habilite el informe de errores de manera oportuna: David Cummings
David Cummings tiene una empresa que se especializa en brindar servicios de software CMS y ha ganado varios premios. Tiene una experiencia muy rica en el desarrollo de PHP.
David escribió una vez "dos consejos de PHP que desearía haber aprendido al principio", uno de los cuales es: habilitar el informe de errores a tiempo, lo que ahorrará mucho tiempo.
Lo más importante que le digo a la gente es maximizar el informe de errores en PHP. ¿Por qué? Debido a que PHP puede ocultar muchos pequeños problemas:
las variables no están predefinidas, se hace referencia a las variables que no están disponibles en fragmentos de código, se usan constantes no definidas, estos factores pueden no parecer gran cosa a menos que esté escribiendo alguna biblioteca de clases usando un objeto. enfoque orientado. A menudo, desactivar el informe de errores probablemente le costará más mantener su código.
Los informes de errores pueden ayudarle a encontrar fácilmente problemas con su código. Si el nivel del informe de errores es lo suficientemente alto, se pueden descubrir errores sutiles de inmediato, lo que le ayudará a ahorrar tiempo general de depuración.