forked from phpcr/phpcr
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
60 lines (44 loc) · 2.05 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Interfaces for the PHP Content Repository PHPCR.
The JSR-283 [1] specification defines an API for a Content Repository (CR).
The PHP Content Repository Interfaces aim to provide that API in PHP.
There is a bunch of information here:
http://liip.to/jackalope
Port Status
***********
The PHPCR is following the Java Content Repository JCR API closely where
appropriate. In the points where Java and PHP differ, we tried to follow the
logic of PHP while keeping the spirit of the original API. The API has the same
expressivnes as the Java API.
Most of the JSR-283 documentation and code examples should be usable as-is.
Main differences between PHPCR and JCR are
* PHP has no method overloading. Same-name methods that differ only by
parameter number and/or type have been merged into one method.
* PHP is weak typed, which makes the Value interface and the large number of
almost-identical iterators obsolete.
An exhaustive list of the differences between PHPCR and JCR is in the file
doc/JCR_TO_PHPCR.txt
API Tests
*********
An API test suite for the functionality of PHPCR is available at
https://github.com/phpcr/phpcr-api-tests/
All implementations have to test against this test suite to make sure they
are interchangeable with each other.
Implementations
***************
The Jackalope project implements the PHPCR interfaces and maps requests to a
java Jackrabbit instance or to a relational database (WIP). [2]
The midgard project is working on implementing the PHPCR interfaces for
midgard2. [3]
History
*******
TODO: evolution of JCR
The API was originally ported from Java to PHP by Karsten Dambekalns
with the help of others for the typo3/flow3 project.
A first attempt at a port of JSR-170 to php has been made by SimPCoRe, but it
seems no applications have been published. The project web site is still up [4]
That version never tried to provide an API, but just implemented the Java
interfaces literally.
[1] http://jcp.org/en/jsr/summary?id=283
[2] https://github.com/jackalope/jackalope
[3] https://github.com/bergie/phpcr-midgard2
[4] http://www.simpcore.org/