PRADO es un código abierto , orientado a objetos , basada en eventos , basado en componentes PHP marco web . El nombre de PRADO es un acrónimo derivado de "PHP Rapid Application Development Object-orientado ". [3]
Desarrollador (es) | Grupo PRADO |
---|---|
Versión inicial | 1 de septiembre de 2004 |
Lanzamiento estable | 4.1.1 [1] / 2020-03-27 [±] |
Repositorio | Repositorio Prado |
Escrito en | PHP |
Sistema operativo | Multiplataforma |
Tipo | Marco web |
Licencia | Licencia BSD modificada [2] |
Sitio web | www |
Historia
El proyecto PRADO fue iniciado por Qiang Xue y se inspiró en Apache Tapestry . [3] El marco también tomó prestadas ideas de Borland Delphi y el marco ASP.NET de Microsoft . La primera versión pública de PRADO salió en junio de 2004, pero se escribió utilizando el modelo de objetos PHP 4 muy limitado y ahora obsoleto , lo que causó muchos problemas. Qiang luego reescribió el marco para el nuevo modelo de objetos PHP 5 y ganó el concurso de codificación Zend PHP 5 con él.
PRADO es un marco de desarrollo rápido de aplicaciones (RAD), y en su infancia ha sido criticado por no estar preparado para escenarios de alto rendimiento y tráfico. Las implementaciones de la plantilla y la configuración de almacenamiento en caché en revisiones posteriores PRADO eliminan la mayoría de rendimiento cuellos de botella en su arquitectura, por lo que es adecuado para la creación de sitios web de medio a alto tráfico, sin dejar de ofrecer una manera rápida entre los marcos de PHP para el desarrollo de interactivos páginas web y aplicaciones .
A finales de 2008, Qiang dio a conocer el marco Yii , un rediseño conceptual de PRADO, dirigido a escenarios de alto rendimiento y alto tráfico. El siguiente mantenimiento y actualizaciones del proyecto PRADO han sido manejados por miembros de la comunidad del proyecto reunidos en la página de código de Google del proyecto . [4] Desde 2013, el proyecto se ha trasladado a GitHub . [5]
Características
Las características de PRADO incluyen lo siguiente:
- Un sistema de plantillas basado en etiquetas, limpio y extensible, dinámico , compatible con XML , similar al de ASP.NET, pero diseñado para el enfoque dinámico de PHP [6] [7]
- Separación clara de presentación y contenido , manejo de entrada y lógica comercial , basada en el enfoque modelo-vista-controlador (MVC) [8] [9]
- Objetos de acceso a datos (DAO), mapeador de datos sqlmap basado en XML , generador de consultas parametrizadas, Active Record y andamiaje automático [10] [11] [12] [13]
- Capa de presentación interactiva del lado del cliente basada en Prototype JavaScript Framework y la biblioteca de efectos script.aculo.us . Sin embargo, también puede utilizar controles externos basados en jQuery y otros marcos de JavaScript [14]
- Formulario de entrada y validación , respaldando la validación tanto en el cliente (para obtener comentarios más rápidos del usuario) como en el lado del servidor (con el objetivo de garantizar la integridad y la seguridad de los datos [15]).
- Widgets activos habilitados para Ajax (como campo de entrada de autocompletar, botón activo, cuadrícula de datos activa) que se pueden actualizar, mostrar o paginar dinámicamente, sin tener que recargar y reconstruir toda la página [16]
- Una función de asignación de dirección URL de soporte para el motor de búsqueda optimizado y URLs semánticas , que funciona sin necesidad de volver a escribir la URL de soporte desde el servidor web [17]
- Más de 100 controles / widgets estándar, que incluyen arrastrar y soltar , validación y controles vinculados a datos [18] [19] [20]
- Cuadrícula de datos personalizable, con soporte de generación automática de columnas basada en el esquema de base de datos descubierto automáticamente [21]
- Una función de autenticación y autorización de apoyo [22]
- Desuello y tematización [23]
- Compatibilidad con internacionalización y localización (I18N y L10N), incluida la traducción de mensajes, el formato de fecha y hora, el formato de números y la localización de la interfaz [24]
- Compatibilidad total con páginas de códigos personalizados Unicode y en otros idiomas , incluida la transcodificación automática entre juegos de caracteres del lado del cliente y del servidor [24]
- Esquema de almacenamiento en caché en capas , que admite el almacenamiento en caché por separado de consultas de datos y fragmentos de salida, a través de la base de datos, memoria compartida , memcached ) para almacenar datos en caché y validación de entrada de caché dinámica tras la recuperación [25]
- Soporte para renderizado progresivo de páginas, minificación automática de scripts y carga diferida bajo demanda de scripts del lado del cliente y archivos de hojas de estilo para una carga más rápida de páginas [26] [27]
- Manejo y registro de errores, con errores manejados y presentados, y mensajes de registro opcionalmente categorizados, filtrados y enrutados a diferentes destinos [28] [29]
- Medidas de seguridad integradas, que incluyen prevención de secuencias de comandos entre sitios (XSS), prevención de manipulación de cookies HTTP y prevención de inyección de SQL [30]
- Pruebas unitarias y pruebas funcionales basadas en PHPUnit , SimpleTest y Selenium [31] [32]
- Generación automática de aplicaciones esqueléticas a partir de la herramienta de línea de comandos PRADO [33]
- Admite la configuración de aplicaciones y entornos de tiempo de ejecución tanto basados en XML como nativos codificados en PHP [34]
- El código generado por los componentes PRADO se adhiere al estándar XHTML [8]
- Soporte para la creación y consumación de servicios web basados en SOAP o JSON [35] [36]
- Interoperabilidad con código de terceros, incluidos PEAR y Laminas [37] [38]
Documentación
PRADO viene con una colección de documentación oficial, que incluye un tutorial para desarrollar una aplicación de blog simple , una guía de referencia que describe todas las características y una referencia de clase para todas las propiedades , métodos y eventos . La documentación está disponible en formato HTML y de Ayuda HTML compilada (.CHM).
Licencia
PRADO se publica bajo una Licencia BSD Modificada , que permite el uso gratuito de PRADO para desarrollar aplicaciones web tanto de código abierto como propietarias , sin requerir la distribución del código fuente de los trabajos derivados .
Ver también
- Comparación de frameworks web
- Comparación de motores de plantillas web
Referencias
- ^ "Marco PHP PRADO" . prafoframework.net . Consultado el 9 de junio de 2020 .
- ^ http://www.pradoframework.net/license/ [ enlace muerto permanente ]
- ^ a b "Sobre PRADO" . Consultado el 11 de marzo de 2012 .[ enlace muerto permanente ]
- ^ "prado3 - PRADO PHP Framework - Alojamiento de proyectos de Google" . google.com .
- ^ "pradosoft / prado" . GitHub .
- ^ "Documentación PRADO: Plantillas, Parte I" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ "Documentación PRADO: Máster y Contenidos" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ a b "Documentación PRADO: ¿Qué es PRADO?" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ "Documentación PRADO: Arquitectura" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ "Documentación PRADO: Objetos de acceso a datos (DAO)" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ "Documentación PRADO: Data Mapper" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ "Documentación PRADO: Registro Activo" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ "Documentación de PRADO: Vistas de andamios de registro activo" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ "Documentación PRADO: Javascript en PRADO, Preguntas y Respuestas" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ "Documentación PRADO: Controles de Validación" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ "Documentación de PRADO: Controles activos (controles habilitados para AJAX)" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ "Documentación PRADO: Mapeo de URL (URL amigables)" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ "Documentación PRADO: Controles estándar" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ "Documentación PRADO: Controles de lista" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ "Documentación PRADO: Controles de datos" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ "Documentación PRADO: TDataGrid" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ "Documentación PRADO: Autenticación y Autorización" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ "Documentación PRADO: Temas y Skins" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ a b "Documentación PRADO: Internacionalización (I18N) y Localización (L10N)" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ "Documentación PRADO: Performance Tuning" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ "Documentación PRADO: Nuevas características" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ "Documentación PRADO: TClientScript" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ "Documentación de PRADO: Manejo y reporte de errores" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ "Documentación PRADO: Registro" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ "Documentación PRADO: Seguridad" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ "PRADO GitHub: prado / tests en master - pradosoft / prado" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ "PRADO GitHub: prado / tests / test_tools en master - pradosoft / prado" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ "Documentación PRADO: Herramienta de línea de comandos" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ "Documentación PRADO: Configuraciones de aplicaciones" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ "Documentación PRADO: Servicio SOAP" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ "Documentación PRADO: Servicio RPC" . pradoframework.net . Consultado el 22 de septiembre de 2013 .
- ^ "PRADO Wiki: ¿Cómo puedo usar las bibliotecas PEAR con PRADO?" . pradosoft.com . Consultado el 22 de septiembre de 2013 .
- ^ "Foro PRADO: HOWTO - PRADO y Zend Framework" . pradosoft.com . Consultado el 22 de septiembre de 2013 .
enlaces externos
- Sitio web oficial , documentación y lista de versiones
- Código fuente en GitHub