mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-21 11:28:55 +00:00

See the following bug report for details: http://bugs.php.net/44736 git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@260480 c90b9560-bf6c-de11-be94-00142212c4b1
102 lines
3.7 KiB
XML
102 lines
3.7 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision: 1.3 $ -->
|
|
<!-- Purpose: xml -->
|
|
<!-- Membership: pecl -->
|
|
|
|
<book xml:id="book.sdo" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
<title>Service Data Objects</title>
|
|
<titleabbrev>SDO</titleabbrev>
|
|
|
|
<!-- {{{ preface -->
|
|
<preface xml:id="intro.sdo">
|
|
&reftitle.intro;
|
|
<para>
|
|
Service Data Objects (SDOs) enable PHP applications to work with
|
|
data from different sources (like a database query, an XML file,
|
|
and a spreadsheet) using a single interface.
|
|
</para>
|
|
<para>
|
|
Each different kind of data source requires a Data Access Service
|
|
(DAS) to provide access to the data in the data source.
|
|
In your PHP application, you use a DAS to create an SDO
|
|
instance that represents some data in the data source. You can then
|
|
set and get values in the SDO instance using the standard SDO
|
|
interface. Finally, you use a DAS to write the modified data back
|
|
to a data source, typically the same one.
|
|
</para>
|
|
<para>
|
|
See the
|
|
<link linkend="sdo.das.table">list of Data Access Services</link>
|
|
for details on those
|
|
currently available. In addition to the provided DASs, SDO also
|
|
provides interfaces to enable others to be implemented
|
|
(see the section on <link linkend="sdo.class.sdo-das-spis">SDO Data
|
|
Access Services Interface</link> for more details).
|
|
</para>
|
|
<para>
|
|
This extension is derived from concepts taken from the
|
|
<link xlink:href="&url.ibm.sdo;">Service Data Objects specification</link>.
|
|
It includes a version of the
|
|
<link xlink:href="&url.apache.tuscany;">Apache Tuscany</link> SDO for C++ project.
|
|
</para>
|
|
<section xml:id="sdo.intro.structure">
|
|
<title>The Structure of a Service Data Object</title>
|
|
<para>
|
|
A Service Data Object instance is made up of a tree of data objects.
|
|
The tree is defined by containment relationships between the data
|
|
objects. For example, a Company data object might consist of a number
|
|
of Department data objects and therefore the Company would have
|
|
a containment relationship to the Departments.
|
|
</para>
|
|
<para> An SDO may also have non-containment references between data objects in the
|
|
tree. For example, one Employee data object might reference another Employee to
|
|
identify a career mentor.
|
|
</para>
|
|
<para>
|
|
As well as data objects referencing each other, they can also have
|
|
primitive properties. For example, the Company data object might
|
|
have a property called "name" of type string, for holding the name
|
|
of the company (for example, "Acme").
|
|
</para>
|
|
<para> Each of these properties of a data object - containment relationships,
|
|
non-containment references, or primitive properties - may be many-valued or
|
|
single-valued. In the above examples, Departments is many-valued and
|
|
the Company name is single-valued.
|
|
</para>
|
|
<para> In PHP, each SDO data object is represented as a PHP object. The properties of the
|
|
data object can be accessed using either object syntax or associative array syntax.
|
|
We'll see some examples of this later.
|
|
</para>
|
|
</section>
|
|
</preface>
|
|
<!-- }}} -->
|
|
|
|
&reference.sdo.setup;
|
|
&reference.sdo.constants;
|
|
&reference.sdo.limitations;
|
|
&reference.sdo.examples;
|
|
&reference.sdo.reference;
|
|
|
|
</book>
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
indent-tabs-mode:nil
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"../../../manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
vim: et tw=78 syn=sgml
|
|
vi: ts=1 sw=1
|
|
-->
|
|
|