Statamic se integra con Laravel como un CMS versátil construido sobre el marco de Laravel, lo que permite a los desarrolladores de Laravel agregar capacidades de gestión de contenido sin problemas a sus aplicaciones de Laravel. Se puede instalar como un paquete compositor en un proyecto Laravel existente o usado independiente, proporcionando una experiencia CMS altamente extensible y adaptable que se alinea estrechamente con la arquitectura y las convenciones de Laravel.
Enfoque de integración del núcleo
Statamic está diseñado como un paquete Laravel y se puede introducir en una aplicación Laravel existente instalándola a través del compositor. Este proceso de instalación implica atraer el paquete Statamic CMS y publicar sus activos y archivos de configuración dentro del proyecto Laravel. De esta manera, Statamic se convierte en parte del ecosistema de la aplicación Laravel y funciona junto con las propias características de Laravel. Para una integración típica, después de requerir Statamic a través del compositor, ejecuta comandos artesanales para publicar los activos y configuraciones del proveedor, y luego realizar los pasos de instalación estatámica dentro del entorno Laravel.
Uso en aplicaciones de Laravel existentes
Statamic se puede agregar a una aplicación Laravel existente para administrar áreas de contenido específicas como páginas de marketing, blogs o contenido estático, lo que permite que la aplicación se beneficie de un CMS sin crear gestión de contenido desde cero. Los desarrolladores pueden personalizar las rutas para coexistir con las rutas de Laravel, lo que garantiza que no surja conflictos entre la funcionalidad de la aplicación y las necesidades de enrutamiento de Statamic. Al aprovechar la plantilla de la cuchilla de Laravel o el lenguaje de plantilla de astas de Laravel, el contenido de CMS se puede mostrar dentro del front-end de la aplicación sin problemas.
Almacenamiento y gestión de contenido
De manera predeterminada, Statamic almacena contenido en archivos planos en lugar de una base de datos, adoptando un estilo de administración de contenido desacoplado que se ajusta bien a la filosofía de configuración basada en archivos de Laravel. Sin embargo, para proyectos que requieren persistencia de la base de datos, Statamic admite el almacenamiento de contenido a través de los controladores de bases de datos, incluidas las implementaciones personalizadas donde los datos de contenido se almacenan en columnas JSON dentro de bases de datos relacionales. Esta personalización significa que los desarrolladores pueden adaptar la capa de contenido de Statamic para adaptarse a los flujos de trabajo basados en la base de datos si lo desea.
Extensibilidad con características de Laravel
Statamic aprovecha los proveedores de servicios, el middleware y los modelos de Laravel, por lo que es muy extensible dentro del ecosistema de Laravel. Los desarrolladores pueden extender la funcionalidad estatámica utilizando técnicas y herramientas estándar de Laravel. Esto permite una profunda personalización e integración de la gestión de contenido junto con la lógica empresarial en aplicaciones de Laravel. Statamic también admite la gestión del usuario que puede integrarse con los proveedores de usuarios nativos de Laravel o mantenerse por separado, dependiendo de las necesidades de la aplicación.
Panel de control y control
Statamic proporciona un panel de control limpio y moderno para administrar el contenido del sitio, accesible dentro del entorno de la aplicación Laravel. Su representación frontal es flexible y utiliza un sistema de "cascada de datos" que hidrata las vistas en función de las URL, facilitando la entrega de contenido dinámico y estático. El motor de plantilla de las astas, el lenguaje de plantilla de Statamic, ofrece a los desarrolladores una forma de crear vistas de contenido dinámico avanzado fácilmente mientras conserva la compatibilidad con las plantillas de cuchilla de Laravel.
CMS sin cabeza y uso de API
Statamic también se puede utilizar como CMS sin cabeza junto con Laravel, proporcionando API RESTful o GraphQL para la entrega de contenido. Esta configuración permite que las aplicaciones de Laravel consuman contenido administrado por estadic como datos, lo que lo hace ideal para arquitecturas frontends desacopladas o proyectos impulsados por API. Esta integración permite a los desarrolladores de Laravel usar estatámico exclusivamente para la gestión de contenido al tiempo que controla de forma independiente la presentación frontal.
Integración de Forge Laravel
Laravel Forge, una popular herramienta de gestión de servidores de Laravel, ahora ofrece integración de primera parte con Statamic. Esta integración simplifica la implementación y la configuración del servidor cuando se usa Statamic con Laravel, lo que permite a los desarrolladores implementar rápidamente sitios de Laravel con estatámica con una configuración mínima. Laravel Forge optimiza el proceso de instalar estatámica en los servidores que administra, incluidos los kits de inicio y las configuraciones personalizadas preestableciendo para Statamic.
Pasos de instalación y configuración típicos
1. Requisito del compositor: Agregue Statamic al proyecto Laravel ejecutando `Compositor requiere Statamic/CMS`.
2. Publicación de activos: Publicar los activos y configuración de Statamic con los comandos de publicación de proveedores artesanales.
3. Comando de instalación: use los comandos Artisan Laravel para finalizar la instalación estatámica.
4. Migraciones de usuarios: si usa la autenticación nativa de Laravel, realice pasos de migración adicionales para la integración del usuario.
5. Configuración del sistema de archivos: ajuste las configuraciones de sistemas de archivos si es necesario para la administración de activos.
6. Ajustes de enrutamiento: Modifique las rutas existentes para acomodar el enrutamiento de contenido de captura de Statamic mientras evita los conflictos.
7. Configuración de tema y plantilla: colocar o convertir plantillas frontend en astas de Statamic o plantillas de cuchilla dentro de la aplicación Laravel.
8. Revisión de configuración: Actualice archivos de configuración que se encuentran en `config/statamic` para almacenamiento en caché, búsqueda, formularios y permisos.
9. Pruebas: pruebe a fondo la configuración integrada para garantizar las características de la aplicación de Laravel y la funcionalidad CMS de Statamic coexisten sin problemas.
Gestión directa de contenido en Laravel
Statamic permite a los desarrolladores crear colecciones, entradas y campos que definen los tipos de contenido, como páginas o publicaciones de blog, que se pueden administrar a través de su panel de control. Estas entradas se pueden almacenar en archivos planos o una base de datos, dependiendo de la configuración. En un entorno integrado en Laravel, esta gestión de contenido permite a los equipos administrar el contenido del sitio de manera eficiente sin tocar el código, mientras que los desarrolladores mantienen el control total sobre la lógica y la presentación de la aplicación.
Repositorios personalizados y uso avanzado
Los usuarios avanzados pueden construir repositorios de entrada personalizados en Laravel para interactuar con el contenido estatámico programáticamente, incluido el uso de modelos elocuentes para la manipulación de datos y esquemas de bases de datos personalizadas. Esto abre posibilidades para la lógica comercial compleja en capas sobre las estructuras de contenido estatámico, aprovechando las poderosas capacidades de ORM de Laravel.