¿Cómo construir un backend para PHP?
En este tutorial, aprenderás cómo construir un backend para PHP utilizando Back4App para impulsar una aplicación web dinámica en el lado del servidor.
Nos centraremos en integrar servicios clave de Back4App, como la gestión de bases de datos, funciones de Cloud Code, APIs REST y GraphQL, autenticación de usuarios y consultas en tiempo real.
Siguiendo estos pasos, crearás un backend seguro, escalable y robusto que podrás usar en tus proyectos de PHP.
También veremos por qué Back4App acelera el desarrollo de backend en comparación con construir todo desde cero, para que puedas ahorrar tiempo y esfuerzo.
Descubrirás cómo implementar seguridad avanzada, programar tareas con Cloud Jobs y conectar integraciones externas con webhooks, todo mientras te apoyas en la infraestructura de Back4App.
Al final, estarás listo para hacer crecer este backend básico del lado del servidor en una configuración de producción completa, o integrar APIs de terceros y lógica personalizada para su uso en el mundo real.
Para completar este tutorial, necesitarás:
- Una cuenta de Back4app y un nuevo proyecto de Back4App Introducción a Back4app. Si no tienes una cuenta, crea una gratis y sigue la guía para preparar tu nuevo proyecto.
- Entorno básico de desarrollo PHP Puedes configurarlo localmente con PHP instalado o usar un entorno de hosting que soporte PHP. Documentación oficial de PHP.
- Soporte cURL o una forma de enviar solicitudes HTTP La mayoría de las instalaciones de PHP incluyen cURL por defecto. Instalación de cURL (Documentación oficial).
- Familiaridad con los fundamentos de aplicaciones web Entender HTTP, scripting del lado del servidor y conceptos básicos de bases de datos será útil.
Asegúrate de tener estos requisitos previos en su lugar antes de sumergirte en los pasos a continuación. Tener tu proyecto de Back4App configurado y un entorno PHP listo facilitará el seguimiento.
El primer paso para construir tu backend del lado del servidor en Back4App es crear un nuevo proyecto. Si aún no lo has hecho, sigue estos pasos:
- Inicia sesión en tu cuenta de Back4App.
- Haz clic en el botón “Nueva App” en tu panel de control de Back4App.
- Dale un nombre a tu app (por ejemplo, “PHP-Backend-Tutorial”).
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/drXO0UqsgxhFvRDiVmsMb_image.png?format=webp)
Una vez creado, tu nuevo proyecto de Back4App aparecerá en el panel de control. Este proyecto será la base para los próximos pasos de configuración.
Dado que estamos trabajando con PHP sin un SDK específico de Parse, nos basaremos en las APIs REST y GraphQL de Back4App para la comunicación. Necesitará las siguientes credenciales de su panel de control de Back4App:
- ID de la aplicación
- Clave de la API REST
- URL del servidor Parse (usualmente https://parseapi.back4app.com)
Puede encontrar estos navegando a la sección de Configuración de la aplicación o Seguridad y claves.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/F9teHXd_M8ERn1OPGirbi_image.png?format=webp)
En PHP, puede realizar solicitudes HTTP utilizando cURL u otras bibliotecas. A continuación se muestra un breve ejemplo de cómo enviar una solicitud POST a Back4App:
Este fragmento demuestra cómo conectar su aplicación PHP a su backend de Back4App. Modifique el YOUR_APPLICATION_ID, YOUR_REST_API_KEY, y otros parámetros para que coincidan con sus propias claves. Al hacerlo, su código del lado del servidor puede leer y escribir datos en su nuevo proyecto.
Con tu proyecto de Back4App listo, es hora de estructurar tu base de datos. Un modelo de datos define cómo se organiza la información de tu aplicación web. Por ejemplo, podrías almacenar tareas o publicaciones de blog en clases.
- Ve a la sección “Base de Datos” en tu panel de control de Back4App.
- Crea una nueva clase (por ejemplo, “Todo”) con campos como título (String) y estáCompletado (Boolean).
![Crear Nueva Clase Crear Nueva Clase](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/iaZ_P-7epc_LSMFIPlaZV_image.png?format=webp)
Back4App te permite crear columnas para varios tipos de datos, incluyendo String, Número, Booleano, Puntero, Relación, Archivo, y otros. También puedes permitir que el esquema se cree automáticamente cuando guardes un objeto desde tu script PHP por primera vez.
![Crear Columna Crear Columna](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/DEh9vyxdBTZcslXxkVQMA_image.png?format=webp)
El Agente AI de Back4App puede automatizar la creación de modelos de datos:
- Abre el Agente AI desde el Panel de Control.
- Proporciona una descripción como “Por favor, crea una nueva aplicación ToDo en Back4App con un esquema de clase completo.”
- Deja que el Agente AI cree el esquema de la base de datos por ti.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/0snNZwHWzxuXlNu30n7IA_image.png?format=webp)
Esta función puede ahorrarte tiempo y mantener tu aplicación del lado del servidor consistente.
Para guardar un nuevo objeto en tu Todo clase usando REST, puedes enviar una solicitud POST:
En PHP, harías algo similar con cURL. Por ejemplo:
Para consultar todos los Todo elementos:
Back4App también soporta GraphQL. Puedes insertar o recuperar datos enviando consultas o mutaciones GraphQL a:
Insertar (Mutación):
Consulta:
Si necesitas actualizaciones en tiempo real en tu aplicación web, considera Consultas en Vivo. Habilita Consultas en Vivo en tu panel de Back4App, luego utiliza un enfoque de WebSocket desde tu entorno PHP (o un cliente separado) para suscribirte a los cambios. Aunque es más común en clientes de JavaScript, puedes configurar sockets separados en PHP si es necesario. Para más detalles, consulta la Documentación de Consultas en Vivo de Back4App.
ACLs (Listas de Control de Acceso) y CLPs (Permisos a Nivel de Clase) protegen tus datos controlando quién puede leer o escribir objetos. Esto asegura tu backend de accesos no autorizados.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/PdAyrw1nqA1QQJFuCc-4t_image.png?format=webp)
- Configura Permisos a Nivel de Clase (CLPs) en el panel de la Base de Datos. Puedes restringir la lectura/escritura pública o requerir autenticación.
- Configura ACLs en cada objeto si necesitas un control más detallado. Un ACL puede especificar acceso de lectura/escritura para un usuario o rol específico.
Para más detalles, consulta Guías de Seguridad de la Aplicación.
El Código en la Nube te permite ejecutar JavaScript del lado del servidor para tareas como lógica de negocio, disparadores o validaciones, sin necesidad de configurar tu propio servidor. De esta manera, puedes mantener cierto código oculto, realizar transformaciones de datos, y más.
Una función simple de Código en la Nube que calcula la longitud del texto:
Esta función se puede invocar desde su script PHP utilizando REST:
Puede desplegar Cloud Code a través de la Back4App CLI o el Panel de Control de Back4App.
Si necesita bibliotecas adicionales, instálelas con npm e impórtelas en su Cloud Code. Esto es útil para integraciones avanzadas del lado del servidor.
Por defecto, su proyecto de Back4App tiene autenticación de usuario a través de la Parse.User clase. Puede controlar si los usuarios deben verificar su correo electrónico o solo iniciar sesión a través de nombre de usuario/contraseña.
Crear un usuario:
Iniciar sesión con un usuario existente:
Los inicios de sesión sociales (Google, Apple, Facebook) son posibles configurando flujos de OAuth. Para instrucciones, consulta la Documentación de Inicio de Sesión Social.
Puedes subir archivos a través de REST:
La respuesta JSON contiene una URL de archivo. Puedes almacenar esta URL en tus clases para hacer referencia al archivo subido.
Puedes permitir la subida de archivos solo desde usuarios autenticados o desde ciertos roles. Configura las reglas de subida de archivos en la configuración del servidor.
La verificación de correo electrónico asegura que solo se utilicen direcciones de correo electrónico válidas. Los restablecimientos de contraseña permiten a los usuarios recuperar sus cuentas de manera segura.
- En el Panel de Control de Back4App, ve a Configuración de la Aplicación > Correo Electrónico.
- Habilita la verificación de correo electrónico y configura tus plantillas deseadas.
- Habilita el restablecimiento de contraseña para que los usuarios puedan recuperar cuentas.
Una vez habilitado, las inscripciones de usuarios activan un correo electrónico de verificación. También puedes solicitar restablecimientos de contraseña usando:
Los Cloud Jobs te permiten automatizar tareas como eliminar datos antiguos o enviar correos electrónicos regulares. Puedes escribirlos en tu main.js y programarlos en el panel de control de Back4App.
- Desplegar este código en Back4App.
- Programar el trabajo en el Panel bajo Configuración de la App > Configuración del Servidor > Tareas en Segundo Plano.
![Programando un trabajo en la nube Programando un trabajo en la nube](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5wG60YnWIST74erryTb-u_image.png?format=webp)
Webhooks te permiten enviar solicitudes HTTP a otros servicios cuando ocurren eventos, como la creación de un nuevo registro en tus clases de Back4App. Esto es útil para integraciones externas, incluyendo plataformas de pago, herramientas de marketing por correo electrónico o notificaciones de Slack.
- Abre el panel de Webhooks en tu panel de control de Back4App > Más > WebHooks.
- Agrega un nuevo Webhook con la URL de endpoint donde deseas enviar los datos del evento.
- Elige los disparadores (por ejemplo, creación, actualización o eliminación de objetos).
![Agregando un Webhook Agregando un Webhook](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/morUMdwsAbVQ1EmBfUfAA_image.png?format=webp)
También puedes definir webhooks en Cloud Code disparadores, haciendo solicitudes HTTP con módulos de Node.js como axios.
![BeforeSave WebHook BeforeSave WebHook](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/fXvy4eRzabyWmN80OMyqW_image.png?format=webp)
La Aplicación de Administración de Back4App es una interfaz centrada en el modelo que permite a usuarios o administradores no técnicos gestionar datos sin escribir código. Ofrece una experiencia de manejo de datos más intuitiva que el Panel de Control estándar de Parse.
- Habilitar la Aplicación de Administración yendo a Panel de la Aplicación > Más > Aplicación de Administración.
- Haz clic en “Habilitar la Aplicación de Administración” y configura tus credenciales de administrador.
- Elige un subdominio para acceder a la Aplicación de Administración.
![Habilitar la Aplicación de Administración Habilitar la Aplicación de Administración](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5BTk1ntDh9JLXurObmm_o_image.png?format=webp)
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/u-pU1yBJJxa9KEM2psjXS_image.png?format=webp)
Inicia sesión con tus credenciales de administrador recién creadas para comenzar a gestionar registros de base de datos, cuentas de usuario, roles y más.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/jOFU8C0qiFm6wiVZXS9l0_image.png?format=webp)
En este tutorial, aprendiste cómo construir un backend del lado del servidor para tu PHP aplicación web utilizando Back4App. Configuraste una base de datos segura, aprovechaste características en tiempo real, definiste lógica personalizada en Cloud Code y exploraste la autenticación de usuarios, almacenamiento de archivos y trabajos programados. También viste cómo los webhooks y el Panel de Administración pueden integrarse con servicios externos y simplificar la gestión de datos.
Con esta base en su lugar, tienes un backend flexible y escalable que puedes extender según sea necesario para tu próximo proyecto PHP. Continúa explorando técnicas avanzadas, roles personalizados o APIs de terceros para hacer que tu aplicación sea aún más poderosa y dinámica.
- Refina tu aplicación PHP lista para producción añadiendo caché, balanceo de carga o seguridad avanzada.
- Agrega control de acceso basado en roles o flujos de autenticación únicos, si tu base de usuarios lo requiere.
- Consulta la documentación oficial de Back4App para aprender más sobre ajuste de rendimiento, registros y análisis.
- Prueba tutoriales adicionales y utiliza las técnicas aprendidas aquí para construir soluciones del mundo real, desde comercio electrónico hasta plataformas sociales.
![Doc contributor](https://s3.amazonaws.com/archbee-animals/cat.png)