The examples in the subsequent sections illustrate the
  following aspects of PHP for SCA: 
 
 
 
 
  - 
   
    How PHP annotations are used to define PHP classes as SCA
    components, and how annotations are used to define the
    services.
    
- 
   
    How an SCA component can be exposed as a Web service
    
- 
   
    How an SCA component can consume a Web service, whether
    provided by another SCA component or by some other service which
    knows nothing of SCA 
    
- 
   
    How an SCA component can call another SCA component locally
    (within the same process and on the same call stack)
    
- 
   
    How a client script which is not an SCA component can use the
    getService call to obtain a proxy for an SCA component.
    
- 
   
    How data structures such as Addresses, or Puchase Orders,
    are represented as Service Data Objects, and handled. 
    
- 
   
    How SCA components are deployed, and in particular how and
    when WSDL is generated for a service. 
    
- 
   
    How parameters are always passed by value (and not by
    reference) between components, even when the calls are local.
    This ensures that the semantics of a call do not change depending on
    the location of a component. 
    
- 
   
    How positional parameters to a service are supported, even
    when the underlying WSDL is document literal wrapped, and
    naturally supports only named parameters. 
    
- 
   
    How business and runtime exceptions are handled.