Rest/Server.php
Zend Framework
LICENSE
This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to [email protected] so we can send you a copy immediately.
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Package
- Zend_Rest
- Subpackage
- Server
- Version
- $Id: Server.php 24593 2012-01-05 20:35:02Z matthew $
\Zend_Rest_Server
- Implements
- \Zend_Server_Interface
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
Properties

array $_functions = array()array()Details- Type
- array

boolean $_returnResponse = falseWhether or not {@link handle()} should send output or return the response.
<p>Defaults to false</p>falseDetails- Type
- boolean

array $magicMethods = array('__construct', '__destruct', '__get', '__set', '__call', '__sleep', '__wakeup', '__isset', '__unset', '__tostring', '__clone', '__set_state')array('__construct', '__destruct', '__get', '__set', '__call', '__sleep', '__wakeup', '__isset', '__unset', '__tostring', '__clone', '__set_state')Details- Type
- array
Methods

_callObjectMethod(string $class, array $args) : mixedCall an instance method of an object
| Name | Type | Description |
|---|---|---|
| $class | string | |
| $args | array |
| Type | Description |
|---|---|
| mixed |
| Exception | Description |
|---|---|
| \Zend_Rest_Server_Exception | For invalid class name |

_callStaticMethod(string $class, array $args) : mixedCall a static class method and return the result
| Name | Type | Description |
|---|---|---|
| $class | string | |
| $args | array |
| Type | Description |
|---|---|
| mixed |

_handleScalar(string | int | boolean $value) : stringHandle a single value
| Name | Type | Description |
|---|---|---|
| $value | string | int | boolean | Result value |
| Type | Description |
|---|---|
| string | XML Response |

_handleStruct(array | object $struct) : stringHandle an array or object result
| Name | Type | Description |
|---|---|---|
| $struct | array | object | Result Value |
| Type | Description |
|---|---|
| string | XML Response |

_structValue(mixed $struct, \DOMDocument $dom, \DOMElement $parent) : voidRecursively iterate through a struct
Recursively iterates through an associative array or object's properties to build XML response.
| Name | Type | Description |
|---|---|---|
| $struct | mixed | |
| $dom | \DOMDocument | |
| $parent | \DOMElement |

addFunction(string $function, string $namespace = '') : voidImplement Zend_Server_Interface::addFunction()
Namespacing is primarily for xmlrpc, but may be used with other implementations to prevent naming collisions.
| Name | Type | Description |
|---|---|---|
| $function | string | Function Name |
| $namespace | string | Function namespace (unused) |

fault( $exception = null, int $code = null) : \DOMDocumentImplement Zend_Server_Interface::fault()
Creates XML error response, returning DOMDocument with response.
| Name | Type | Description |
|---|---|---|
| $exception | ||
| $code | int | Error Code |
| Type | Description |
|---|---|
| \DOMDocument |

getFunctions() : arrayImplement Zend_Server_Interface::getFunctions()
Returns a server definition array as created using Zend_Server_Reflection. Can be used for server introspection, documentation, or persistence.
| Type | Description |
|---|---|
| array | An array of Zend_Server_Reflection_Method's |

getHeaders() : arrayRetrieve any HTTP extra headers set by the server
| Type | Description |
|---|---|
| array |

handle(array $request = false) : string | voidImplement Zend_Server_Interface::handle()
Requests may be passed in, or the server may automagically determine the request based on defaults. Dispatches server request to appropriate method and returns a response
| Name | Type | Description |
|---|---|---|
| $request | array |
| Type | Description |
|---|---|
| string | void |
| Exception | Description |
|---|---|
| \Zend_Rest_Server_Exception |

loadFunctions(array $functions) : voidImplement Zend_Server_Interface::loadFunctions()
Used for persistence; loads a construct as returned by getFunctions().
| Name | Type | Description |
|---|---|---|
| $functions | array |
- Todo
- Implement

lowerCase(string $value, string $key) : stringLowercase a string
Lowercase's a string by reference
| Name | Type | Description |
|---|---|---|
| $value | string | |
| $key | string |
| Type | Description |
|---|---|
| string | Lower cased string |

returnResponse(boolean $flag = null) : boolean | \Zend_Rest_ServerWhether or not to return a response
If called without arguments, returns the value of the flag. If called with an argument, sets the flag.
When 'return response' is true, handle() will not send output, but will instead return the response from the dispatched function/method.
| Name | Type | Description |
|---|---|---|
| $flag | boolean |
| Type | Description |
|---|---|
| boolean | \Zend_Rest_Server | Returns Zend_Rest_Server when used to set the flag; returns boolean flag value otherwise. |

setClass(string $classname, string $namespace = '', array $argv = array()) : voidImplement Zend_Server_Interface::setClass()
The individual implementations should probably allow passing a variable number of arguments in, so that developers may define custom runtime arguments to pass to server methods.
Namespacing is primarily for xmlrpc, but could be used for other implementations as well.
| Name | Type | Description |
|---|---|---|
| $classname | string | Class name |
| $namespace | string | Class namespace (unused) |
| $argv | array | An array of Constructor Arguments |

setEncoding(string $encoding) : \Zend_Rest_ServerSet XML encoding
| Name | Type | Description |
|---|---|---|
| $encoding | string |
| Type | Description |
|---|---|
| \Zend_Rest_Server |