Este texto es una traducción de la página web http://phpcr.github.io PHPCR PHP Content Repository en el cual se trata de resumir la tecnología PHPRC, su definición, su uso y herramientas.
PHP Content Repository – es una adaptación del estándar de Java Content Repository para PHP, definida en la especificación abierta de API JSR-283
Esta API define cómo manejar información jerárquica semi estructurada de manera consistente.
Un uso típico es en el sistemas de manejo de contenido. PHPCR combina lo mejor de bases de datos orientada a documentos (con información poco estructurada) y base de datos XML (árboles jerárquicos). Sobre todo adiciona funcionalidades útiles como búsqueda, versionamiento, control de acceso y bloqueo.
¿Cuándo utilizar PHPCR?
Para estructuras jerárquicas de navegación.
Para datos compuestos que requieren estar en un mismo lugar de carpeta. Es decir, una página web con archivos adjuntos y traducciones.
Necesita tener el contenido versionado.
Se desea una búsqueda completa (Full text search).
¿Cuándo no utilizar PHPCR?
PHPCR está dirigido a contenido semi estructurado. Para contenido estrictamente estructurado y cuando se usan consultas de agregación, se recomienda utilizar bases de datos relacionales.
Por ejemplo: Una tienda web donde los productos se almacenan en PHPCR, los pedidos se almacenan en una base de datos relacional.
Librerías y Aplicaciones
Doctrine PHPCR-ODM
Esta variante de Doctrine proporciona un manejador de objetos y documentos para almacenar objetos PHP en PHPCR. Proporciona soporte multilenguaje incorporado.
Sitio web: www.doctrine-project.org
Proveedor: Doctrine Project
Github: https://github.com/doctrine/phpcr-odm/
Symfony Content Management Framework (CMF)
El CMF se construye en la parte superior de Symfony2. Utiliza PHPCR-ODM como su capa de persistencia predeterminada. Proporciona edición de contenido, administración de menús, sistema de bloqueo, administración de medios y funciones de utilidad, como un flujo de trabajo de publicación.
Sitio web: cmf.symfony.com
Proveedor: Symfony CMF
Github: https://github.com/symfony-cmf/
Sulu 2.0
Sulu es un CMS extensible construido diréctamente encima de PHPCR. Viene con su propio concepto de edición inspirado en el buscador iOS.
Sitio web: www.sulu.io
Proveedor: massiveart
Github: https://github.com/sulu-cmf/sulu
Togu
Togu es una nueva generación de CMF construida sobre Symfony CMF que permite crear fácilmente sitios web WYSIWYG. Utiliza PHPCR-ODM como su capa de persistencia.
Sitio web: togu.io
Github: https://github.com/togucms/ToguCMS
Symfony2
DoctrinePHPCRBundle integra PHPCR y PHPCR-ODM con el framework Symfony2. Le permite configurar varias sesiones y puede detectar automáticamente documentos para PHPCR-ODM.
Sitio web: http://symfony.com/doc/master/cmf/bundles/phpcr_odm/introduction.html
Proveedor: Doctrine Project
Github: https://github.com/doctrine/DoctrinePHPCRBundle