MDL-67850 lib: add new plist library
[moodle.git] / lib / plist / README.md
1 # CFPropertyList
3 The PHP implementation of Apple's PropertyList can handle XML PropertyLists as well as binary PropertyLists. It offers functionality to easily convert data between worlds, e.g. recalculating timestamps from unix epoch to apple epoch and vice versa. A feature to automagically create (guess) the plist structure from a normal PHP data structure will help you dump your data to plist in no time.
5 Note: CFPropertylist was originally hosted on [Google Code](http://code.google.com/p/cfpropertylist/)
7 ## Choose Your Favorite Operating System
9 CFPropertyList does not rely on any "Apple proprietary" components, like plutil. CFPropertyList runs on any Operating System with PHP and some standard extensions installed.
11 Although you might want to deliver data to your iPhone application, you might want to run those server side services on your standard Linux (or even Windows) environment, rather than buying an expensive Apple Server. With CFPropertyList you now have the power to provide data from your favorite Operating System.
13 ## Requirements And Limitations
15 * requires PHP5.3 (as of CFPropertyList 2.0)
16 * requires either [MBString](http://php.net/mbstring) or [Iconv](http://php.net/iconv)
17 * requires either [BC](http://php.net/bc) or [GMP](http://php.net/gmp) or [phpseclib](http://phpseclib.sourceforge.net/) (see BigIntegerBug for an explanation) - as of CFPropertyList 1.0.1
19 ## Authors
21 - Rodney Rehm <rodney.rehm@medialize.de>
22 - Christian Kruse <cjk@wwwtech.de>
23 - PSR-0 changes by Jarvis Badgley <https://github.com/ChiperSoft/CFPropertyList>
25 ## License
27 CFPropertyList is published under the [MIT License](http://www.opensource.org/licenses/mit-license.php).
29 ## Installation
31 see [Composer / Packagist](http://packagist.org/packages/rodneyrehm/plist).
33 ## Related
35 * [man(5) plist](http://developer.apple.com/documentation/Darwin/Reference/ManPages/man5/plist.5.html)
36 * [CFBinaryPList.c](http://www.opensource.apple.com/source/CF/CF-476.15/CFBinaryPList.c)
37 * [CFPropertyList in Ruby](http://rubyforge.org/projects/cfpropertylist/)
38 * [CFPropertyList in Python](https://github.com/bencochran/CFPropertyList)
39 * [plist on Wikipedia](http://en.wikipedia.org/wiki/Plist)