||Service Component Architecture (SCA) and Service Data Objects (SDO) for PHP
Caroline Maynard <
cem at php dot net >
Graham Charters <
gcc at php dot net >
Matthew Peters <
mfp at php dot net >
Simon Laws (lead)
||Service Data Objects (SDOs) enable PHP applications to work with data from different sources (typically a database query or an XML file) using a single interface. SCA for PHP allows a PHP programmer to write reusable components (classes) in PHP, which can be called either locally, or in a a variety of ways remotely (soap web services, xml-rpc, json-rpc, REST, etc), but always with the same interface.
The following changes have been made between 0.7.1 and this release:
A) The changes which are visible at the programming interface are:
1) The interface to the XML Data Access Service has been revised:
a) The names of the methods to load and save documents have changed to improve consistency with other packages.
b) A new method, createDocument(), has been added to enable creation of a document from scratch.
c) The saveDataObjectToFile()/String() methods have been replaced by saveFile() and saveString() methods on the XML DAS object.
d) Some getters and setters on the Document have been fixed or removed.
e) The XML Data Access Service has added support for the following XML Schema:
- Open types: support for <any> element and <anyAttribute>
- Type inheritance: both simple and complex types can be derived by restriction or extension
- Abstract types: the use of abstract types in the schema is supported
2) The XML DAS now supports printing its SDO type and property model using print or echo.
3) The XML DAS can now produce formatted Document (see optional formatting argument on saveFile() and saveString())
4) The getType() method on a DataObject has been replaced with getTypeName() and getTypeNamespaceURI() methods.
B) Other changes in this release:
1) The memory management in the sdo and sdo_das_xml extensions has been overhauled to squeeze out any memory leaks
2) Exception messages from the extension have been improved so that they never refer to the underlying C/C++ code
3) PropertyNotSetException has been improved so that it replicates the way arrays and objects behave as closely as possible
4) The parsing that the XML DAS performs on both XML Schema and instance documents has been improved so that problems are picked up and reported earlier.