Marco PHP estable y bien soportado con posiblemente un generador de formularios y gráficos, tablas

No he hecho ninguna codificación PHP durante algunos años y, hasta el momento, no he usado un marco.

Ahora tengo un nuevo proyecto en mente y creo que un marco bien probado me ahorraría mucho del tiempo que he invertido anteriormente en reinventar una versión de la rueda plagada de errores.

La parte PHP del proyecto hará lo siguiente:

  • reciba solicitudes HTTP POST, busque en una base de datos (probablemente MySql, tal vez Sqlite) y devuelva una URL que recupera.

  • permitir que los usuarios inicien sesión (comprobando las credenciales con la base de datos) y establezcan una sesión (que podría decidir tener un tiempo de espera después de un período de inactividad).

  • los usuarios pueden ver un tablero de sus datos y actividad que construiré a partir de la base de datos.
  • Necesitaré una aplicación de administración para mi propio uso, que me permita agregar/modificar/eliminar usuarios y sus datos.

Todo eso suena bastante común, lo que significa que debería haber un buen marco para que lo use.

  • Algo gratuito para uso comercial (en caso de que sea lo suficientemente tonto como para tratar de cobrar por ello), sin trampas, lo que significaría que tendría que abrir mi código fuente (aún podría decidir hacerlo, pero quiero mantener mi opciones abiertas).
  • Estable y bien probado, con una buena comunidad de soporte al usuario.
  • Maneja la funcionalidad común, como el inicio de sesión de usuario, la gestión de sesiones (incluido el cierre de sesión de tiempo de espera), etc.
  • Proporciona buena seguridad con un mínimo esfuerzo de mi parte
  • Posiblemente un generador de formularios, si algún marco ofrece tal cosa, donde puedo arrastrar y soltar y "dibujar" mi formulario, luego generar código PHP para él.
  • Tal vez una buena generación de informes, con gráficos, gráficos circulares, histogramas, etc.
  • De hecho, cualquier cosa que me ayude a hacer una GUI ingeniosa, ya que soy pésimo en eso.
  • Cualquier otra característica ingeniosa que pueda hacerlo atractivo, aunque también se debe considerar la curva de aprendizaje y cómo ayuda al desarrollo, acelerándolo / haciéndolo menos propenso a errores y más fácil de probar y depurar.

¿Qué marco me recomiendas?


A pesar de otorgar la recompensa, muchas búsquedas en Google me llevan a creer que Lavarel ahora está en ascenso sobre Code Igniter. He decidido mover la presentación y la mayor parte de la lógica del lado del cliente, usando AngularJs, dejando solo una delgada capa de acceso a la base de datos en el servidor para que Ajax acceda.

De ninguna manera soy un desarrollador de php, pero una búsqueda rápida en Google encontró CakePHP . Además, de ninguna manera soy un desarrollador de html, pero su problema de solución de GUI podría resolverse usando Bootstrap
Consulte Phalcon, soy demasiado perezoso para escribir una respuesta detallada (además, estoy en un dispositivo móvil), pero debería tener la mayoría de las características que necesita, excluyendo el generador de gráficos y páginas GUI (esa no es la función del marco y lo dudo) Encontraré uno que proporcione esas características), pero la verdadera ventaja es la velocidad, es súper rápido en comparación con otros marcos, ya que se entrega como una extensión C en lugar de un código PHP.

Respuestas (2)

Primero, me disculpo por no poder proporcionar una respuesta canónica detallada. Se requiere una respuesta canónica detallada para abordar todas las inquietudes. pero trataré de hacer mi respuesta lo más detallada posible ¡Y espero que esto sea útil! Así que sugiero CodeIgniter. Es un framework PHP poderoso con una huella muy pequeña, creado para desarrolladores que necesitan un conjunto de herramientas simple y elegante para crear aplicaciones web con todas las funciones. Código de encendido .

CodeIgniter es adecuado para usted si

  • Quiere un marco que ocupe poco espacio.
  • Necesita un rendimiento excepcional.
  • Necesita una amplia compatibilidad con las cuentas de alojamiento estándar que ejecutan una variedad de versiones y configuraciones de PHP.
  • Desea un marco que requiera una configuración casi nula.
  • Desea un marco que no requiera que use la línea de comando.
  • Desea un marco que no requiera que se adhiera a reglas de codificación restrictivas.
  • No desea verse obligado a aprender un lenguaje de plantillas (aunque un analizador de plantillas está disponible opcionalmente si lo desea).
  • Evita la complejidad, favoreciendo las soluciones simples.
  • Necesita una documentación clara y completa.

Desde un punto de vista técnico y arquitectónico, CodeIgniter fue creado con los siguientes objetivos:

  • Instanciación dinámica. En CodeIgniter, los componentes se cargan y las rutinas se ejecutan solo cuando se solicitan, en lugar de globalmente. El sistema no hace suposiciones con respecto a lo que se puede necesitar más allá de los recursos básicos mínimos, por lo que el sistema es muy liviano de manera predeterminada. Los eventos, desencadenados por la solicitud HTTP, y los controladores y vistas que diseñe determinarán qué se invoca.

  • Bajo acoplamiento. El acoplamiento es el grado en que los componentes de un sistema dependen unos de otros. Cuanto menos dependan los componentes unos de otros, más reutilizable y flexible se vuelve el sistema. Nuestro objetivo era un sistema muy débilmente acoplado.

  • Singularidad de componentes. La singularidad es el grado en que los componentes tienen un propósito estrictamente enfocado. En CodeIgniter, cada clase y sus funciones son altamente autónomas para permitir la máxima utilidad.

CodeIgniter es un sistema débilmente acoplado instanciado dinámicamente con alta singularidad de componentes. Se esfuerza por la simplicidad, la flexibilidad y el alto rendimiento en un paquete de tamaño reducido.

Características de CodeIgniter

  • Sistema basado en modelo-vista-controlador
  • Peso extremadamente ligero.
  • Clases de base de datos completas con soporte para varias plataformas.
  • Soporte de base de datos de registros activos
  • Formulario y Validación de Datos
  • Seguridad y Filtrado XSS
  • Gestión de sesiones
  • Clase de envío de correo electrónico. Admite archivos adjuntos, correo electrónico HTML/de texto, múltiples protocolos (sendmail, SMTP y Mail) y más.
  • Biblioteca de manipulación de imágenes (recorte, cambio de tamaño, rotación, etc.). Admite GD, ImageMagick y NetPBM
  • Clase de carga de archivos
  • Clase FTP
  • Localización
  • Paginación
  • Cifrado de datos
  • evaluación comparativa
  • Almacenamiento en caché de página completa
  • Registro de errores
  • Perfilado de aplicaciones
  • Clase de calendario
  • Clase de agente de usuario
  • Clase de codificación zip
  • Clase de motor de plantilla
  • Clase de trackback
  • Biblioteca XML-RPC
  • Clase de prueba unitaria
  • URL compatibles con motores de búsqueda
  • Enrutamiento URI flexible
  • Compatibilidad con ganchos y extensiones de clase
  • Gran biblioteca de funciones de "ayuda"

Como este es un proyecto de código abierto, tiene una buena comunidad de soporte.

Buscar en Google parece mostrar que Laravel es el favorito de la mayoría (y que CodeIgnighter está perdiendo popularidad). ¿Algún comentario?
@Mawg Para mí, parece que ambos están al mismo nivel, pero nuevamente es su elección, lo que solo puedo hacer es sugerir lo que es mejor para su trabajo, pero recuerde que cada uno de ellos tiene su propio conjunto de ventajas :) Sugerí esto porque principalmente CodeIgniter promete una mayor estabilidad. Definitivamente también hay una gran comunidad que lo está usando, también es propiedad del Instituto de Tecnología de Columbia Británica :)
+1 Creo que debería intentar usar ambos para crear una aplicación simple y ver cuál se adapta mejor a mí. También buscaré comparaciones de los dos.

Creo que Yii estaría bien para ti. El informe / biblioteca de informes .

Para la construcción de la interfaz de usuario, creo que es parte de la biblioteca/marco de front-end, no del lado del servidor. Siempre puede combinar cualquiera de BootstrapFormBuilder , Formoid , Bootply o LayoutIt con cualquier marco del lado del servidor.

Para conocer más sobre Yii, puedes visitar este enlace .

Aquí hay una lista de otros marcos php.