Quickstarters
Feature Overview
¿Cómo construir un backend para PHP?
41 min
introducción 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 utilizar 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 requisitos previos para completar este tutorial, necesitarás una cuenta de back4app y un nuevo proyecto de back4app comenzando con back4app https //www back4app com/docs/get started/new parse app 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 https //www php net/docs php soporte curl o una forma de enviar solicitudes http la mayoría de las instalaciones de php incluyen curl por defecto instalando curl (documentación oficial) https //curl se/docs/install html 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 paso 1 – configuración del proyecto back4app crear un nuevo proyecto 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”) 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 conéctese a back4app a través de la api rest 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 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 $url = 'https //parseapi back4app com/classes/todo'; $data = array( 'title' => 'buy groceries', 'iscompleted' => false ); $payload = json encode($data); $ch = curl init($url); curl setopt($ch, curlopt post, 1); curl setopt($ch, curlopt postfields, $payload); curl setopt($ch, curlopt httpheader, array( 'x parse application id your application id', 'x parse rest api key your rest api key', 'content type application/json' )); curl setopt($ch, curlopt returntransfer, true); $result = curl exec($ch); curl close($ch); echo $result; // print api response 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 paso 2 – configuración de la base de datos creando un modelo de datos 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) 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 creando un modelo de datos usando el agente de ia 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 esta función puede ahorrarte tiempo y mantener tu aplicación del lado del servidor consistente lectura y escritura de datos (rest api) para guardar un nuevo objeto en tu todo clase usando rest, puedes enviar una solicitud post curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo en php, harías algo similar con curl por ejemplo $url = 'https //parseapi back4app com/classes/todo'; $data = array('title' => 'buy groceries', 'iscompleted' => false); // (same curl setup as before) para consultar todos los todo elementos curl x get \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ https //parseapi back4app com/classes/todo lectura y escritura de datos (api graphql) back4app también soporta graphql puedes insertar o recuperar datos enviando consultas o mutaciones graphql a https //parseapi back4app com/graphql insertar (mutación) mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } consulta query { todos { edges { node { objectid title iscompleted } } } } trabajando con consultas en vivo (opcional) 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 https //www back4app com/docs/javascript/live queries paso 3 – aplicando seguridad con acls y clps resumen breve 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 paso a paso 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 https //www back4app com/docs/security/parse security paso 4 – escribiendo funciones de código en la nube por qué código en la nube 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 función de ejemplo una función simple de código en la nube que calcula la longitud del texto // main js parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) { throw new error('no text provided'); } return { length text length }; }); esta función se puede invocar desde su script php utilizando rest curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"text" "hello back4app"}' \\ https //parseapi back4app com/functions/calculatetextlength despliegue puede desplegar cloud code a través de la back4app cli https //www back4app com/docs/local development/parse cli o el panel de control de back4app módulos npm 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 paso 5 – configuración de la autenticación habilitar autenticación 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 registrarse, iniciar sesión, cerrar sesión (rest) crear un usuario curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"username" "alice","password" "secret123","email" "alice\@example com"}' \\ https //parseapi back4app com/users iniciar sesión con un usuario existente curl x get \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ g \\ \ data urlencode 'username=alice' \\ \ data urlencode 'password=secret123' \\ https //parseapi back4app com/login inicio de sesión social 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 https //www back4app com/docs/platform/sign in with apple paso 6 – manejo del almacenamiento de archivos configurando el almacenamiento de archivos puedes subir archivos a través de rest curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type image/jpeg" \\ \ data binary "@/path/to/myimage jpg" \\ https //parseapi back4app com/files/myimage jpg la respuesta json contiene una url de archivo puedes almacenar esta url en tus clases para hacer referencia al archivo subido ejemplo { "name" "myimage jpg", "url" "https //myapp back4app io/files/myimage jpg" } consideraciones de seguridad 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 paso 7 – verificación de correo electrónico y restablecimiento de contraseña descripción general 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 configuración del panel de control 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 implementación una vez habilitado, los registros de usuario activan un correo electrónico de verificación también puedes solicitar restablecimientos de contraseña usando curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"email" "alice\@example com"}' \\ https //parseapi back4app com/requestpasswordreset paso 8 – programación de tareas con cloud jobs qué hacen los cloud jobs 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 ejemplo // main js parse cloud job('cleanupoldtodos', async (request) => { const todo = parse object extend('todo'); const query = new parse query(todo); const now = new date(); const thirty days = 30 24 60 60 1000; const cutoff = new date(now thirty days); query lessthan('createdat', cutoff); try { const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; } catch (err) { throw new error('error during cleanup ' + err message); } }); 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 paso 9 – integrando webhooks definición 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 configuración abre el panel de webhooks en tu panel de control de back4app > más > webhooks agrega un nuevo webhook con la url del endpoint donde deseas enviar los datos del evento elige los disparadores (por ejemplo, creación, actualización o eliminación de objetos) también puedes definir webhooks en cloud code disparadores, haciendo solicitudes http con módulos de node js como axios paso 10 – explorando el panel de administración de back4app 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 dónde encontrarlo 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 aplicación de administración” y configura tus credenciales de administrador elige un subdominio para acceder a la aplicación de administración inicia sesión con tus nuevas credenciales de administrador para comenzar a gestionar registros de base de datos, cuentas de usuario, roles y más conclusión 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 próximos pasos 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