PHPCR
A (better) way to structure your content
PFCongres 2013 Uncon - 14 september 2013
What's this talk about
PHP Content Repository
- Why would I need PHPCR
- What is PHPCR
- Who is using it
- When to use it
- When not to use it
Why would I need PHPCR
- CMS data isn't always structured
- NoSQL isn't always a fit, but has similarities
- Makes it easy to switch storage engines
- A lot of build-in features
What is PHPCR
- Ported from JCR-283 for TYPO3/Flow3
- Removed JAVA overhead
- Added PHP specifics
- Some naming changed
- PHPCR Utils
- Tree of nodes
What is PHPCR
Nodes
- Nodes have a name and a type
- A node has a path
- Nodes can have named properties with values
What is PHPCR
Workspaces
Can be compared with branches in a VCS or with a filesystem
Who is using it
- Jackalope (Jackrabbit/Doctrine-DBAL)
- Symfony CMF
- ServerGrove KnowledgeBase
- TYPO3
- Vespolina and Sylius
- Midgard2
When to use it
- Hierarchical data
- With compound data; like attachments or translations
- When you need versioning
- When in need of FullText search
When not to use it
- Strict structured data
- Aggregation