forked from zendframework/zf1
-
Notifications
You must be signed in to change notification settings - Fork 58
/
Copy pathInterface.php
118 lines (111 loc) · 3.44 KB
/
Interface.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
<?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 license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Server
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* Zend_Server_Interface
*
* @category Zend
* @package Zend_Server
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
interface Zend_Server_Interface
{
/**
* Attach a function as a server method
*
* Namespacing is primarily for xmlrpc, but may be used with other
* implementations to prevent naming collisions.
*
* @param string $function
* @param string $namespace
* @param null|array Optional array of arguments to pass to callbacks at
* dispatch.
* @return void
*/
public function addFunction($function, $namespace = '');
/**
* Attach a class to a server
*
* 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.
*
* @param mixed $class Class name or object instance to examine and attach
* to the server.
* @param string $namespace Optional namespace with which to prepend method
* names in the dispatch table.
* methods in the class will be valid callbacks.
* @param null|array Optional array of arguments to pass to callbacks at
* dispatch.
* @return void
*/
public function setClass($class, $namespace = '', $argv = null);
/**
* Generate a server fault
*
* @param mixed $fault
* @param int $code
* @return mixed
*/
public function fault($fault = null, $code = 404);
/**
* Handle a request
*
* 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
*
* @param mixed $request
* @return mixed
*/
public function handle($request = false);
/**
* Return a server definition array
*
* Returns a server definition array as created using
* {@link * Zend_Server_Reflection}. Can be used for server introspection,
* documentation, or persistence.
*
* @access public
* @return array
*/
public function getFunctions();
/**
* Load server definition
*
* Used for persistence; loads a construct as returned by {@link getFunctions()}.
*
* @param array $array
* @return void
*/
public function loadFunctions($definition);
/**
* Set server persistence
*
* @todo Determine how to implement this
* @param int $mode
* @return void
*/
public function setPersistence($mode);
}