Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Clone this wiki locally
Here is a first simple diagram to illustrate how JCR compares to RDBMS/NoSQL. You might notice that there is very little difference to the diagram below.
PHP content repository
PHPCR is an adaption of the Java Content Repository specification JCR. But it does not try to copy the JCR interfaces 1:1 and instead provides a PHP-ified equivalent API.
We built PHPCR-ODM, a object-document mapper on top of PHPCR in the doctrine family. It can be used to map document classes into the storage layer. In addition to the general ODM features, PHPCR-ODM provides you with @Children and @Parent annotations to model the hierarchy. The document manager also offers ways to work with versions.
Direct PHPCR Access
Now what this diagram tries to illustrate with the two arrows is that the Userland Code will at times interact with Jackalope directly and this is where using the JCR specification gets interesting. For example, you can move nodes in the tree or copy whole parts of a tree, work with the PHPCR workspaces and so on. For searching, we will expose the PHPCR query builder.