d0cf0c3aa2bd26bd9710b62ed1f3180277dcf497
[m6w6/ext-propro] / v1.0.x / php__propro__api_8h.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 <meta name="generator" content="Doxygen 1.8.10"/>
7 <title>Property proxy API: src/php_propro_api.h File Reference</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script>
10 <script type="text/javascript" src="dynsections.js"></script>
11 <link href="navtree.css" rel="stylesheet" type="text/css"/>
12 <script type="text/javascript" src="resize.js"></script>
13 <script type="text/javascript" src="navtreedata.js"></script>
14 <script type="text/javascript" src="navtree.js"></script>
15 <script type="text/javascript">
16 $(document).ready(initResizable);
17 $(window).load(resizeHeight);
18 </script>
19 <link href="search/search.css" rel="stylesheet" type="text/css"/>
20 <script type="text/javascript" src="search/searchdata.js"></script>
21 <script type="text/javascript" src="search/search.js"></script>
22 <script type="text/javascript">
23 $(document).ready(function() { init_search(); });
24 </script>
25 <link href="doxygen.css" rel="stylesheet" type="text/css" />
26 </head>
27 <body>
28 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
29 <div id="titlearea">
30 <table cellspacing="0" cellpadding="0">
31 <tbody>
32 <tr style="height: 56px;">
33 <td id="projectalign" style="padding-left: 0.5em;">
34 <div id="projectname">Property proxy API
35 </div>
36 <div id="projectbrief">A facility to manage extension object properties tied to C-struct members</div>
37 </td>
38 </tr>
39 </tbody>
40 </table>
41 </div>
42 <!-- end header part -->
43 <!-- Generated by Doxygen 1.8.10 -->
44 <script type="text/javascript">
45 var searchBox = new SearchBox("searchBox", "search",false,'Search');
46 </script>
47 <div id="navrow1" class="tabs">
48 <ul class="tablist">
49 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
50 <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
51 <li class="current"><a href="files.html"><span>Files</span></a></li>
52 <li>
53 <div id="MSearchBox" class="MSearchBoxInactive">
54 <span class="left">
55 <img id="MSearchSelect" src="search/mag_sel.png"
56 onmouseover="return searchBox.OnSearchSelectShow()"
57 onmouseout="return searchBox.OnSearchSelectHide()"
58 alt=""/>
59 <input type="text" id="MSearchField" value="Search" accesskey="S"
60 onfocus="searchBox.OnSearchFieldFocus(true)"
61 onblur="searchBox.OnSearchFieldFocus(false)"
62 onkeyup="searchBox.OnSearchFieldChange(event)"/>
63 </span><span class="right">
64 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
65 </span>
66 </div>
67 </li>
68 </ul>
69 </div>
70 <div id="navrow2" class="tabs2">
71 <ul class="tablist">
72 <li><a href="files.html"><span>File&#160;List</span></a></li>
73 <li><a href="globals.html"><span>Globals</span></a></li>
74 </ul>
75 </div>
76 </div><!-- top -->
77 <div id="side-nav" class="ui-resizable side-nav-resizable">
78 <div id="nav-tree">
79 <div id="nav-tree-contents">
80 <div id="nav-sync" class="sync"></div>
81 </div>
82 </div>
83 <div id="splitbar" style="-moz-user-select:none;"
84 class="ui-resizable-handle">
85 </div>
86 </div>
87 <script type="text/javascript">
88 $(document).ready(function(){initNavTree('php__propro__api_8h.html','');});
89 </script>
90 <div id="doc-content">
91 <!-- window showing the filter options -->
92 <div id="MSearchSelectWindow"
93 onmouseover="return searchBox.OnSearchSelectShow()"
94 onmouseout="return searchBox.OnSearchSelectHide()"
95 onkeydown="return searchBox.OnSearchSelectKey(event)">
96 </div>
97
98 <!-- iframe showing the search results (closed by default) -->
99 <div id="MSearchResultsWindow">
100 <iframe src="javascript:void(0)" frameborder="0"
101 name="MSearchResults" id="MSearchResults">
102 </iframe>
103 </div>
104
105 <div class="header">
106 <div class="summary">
107 <a href="#nested-classes">Data Structures</a> &#124;
108 <a href="#typedef-members">Typedefs</a> &#124;
109 <a href="#func-members">Functions</a> </div>
110 <div class="headertitle">
111 <div class="title">php_propro_api.h File Reference</div> </div>
112 </div><!--header-->
113 <div class="contents">
114 <div class="textblock"><code>#include &quot;<a class="el" href="php__propro_8h_source.html">php_propro.h</a>&quot;</code><br />
115 </div><div class="textblock"><div class="dynheader">
116 Include dependency graph for php_propro_api.h:</div>
117 <div class="dyncontent">
118 <div class="center"><img src="php__propro__api_8h__incl.png" border="0" usemap="#src_2php__propro__api_8h" alt=""/></div>
119 <map name="src_2php__propro__api_8h" id="src_2php__propro__api_8h">
120 <area shape="rect" id="node2" href="php__propro_8h.html" title="php_propro.h" alt="" coords="28,80,125,107"/>
121 </map>
122 </div>
123 </div><div class="textblock"><div class="dynheader">
124 This graph shows which files directly or indirectly include this file:</div>
125 <div class="dyncontent">
126 <div class="center"><img src="php__propro__api_8h__dep__incl.png" border="0" usemap="#src_2php__propro__api_8hdep" alt=""/></div>
127 <map name="src_2php__propro__api_8hdep" id="src_2php__propro__api_8hdep">
128 <area shape="rect" id="node2" href="php__propro_8h.html" title="php_propro.h" alt="" coords="28,80,125,107"/>
129 <area shape="rect" id="node3" href="php__propro__api_8c.html" title="src/php_propro_api.c" alt="" coords="149,80,292,107"/>
130 </map>
131 </div>
132 </div>
133 <p><a href="php__propro__api_8h_source.html">Go to the source code of this file.</a></p>
134 <table class="memberdecls">
135 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
136 Data Structures</h2></td></tr>
137 <tr class="memitem:structphp__property__proxy"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__propro__api_8h.html#structphp__property__proxy">php_property_proxy</a></td></tr>
138 <tr class="memdesc:structphp__property__proxy"><td class="mdescLeft">&#160;</td><td class="mdescRight">The internal property proxy. <a href="php__propro__api_8h.html#structphp__property__proxy">More...</a><br /></td></tr>
139 <tr class="separator:structphp__property__proxy"><td class="memSeparator" colspan="2">&#160;</td></tr>
140 <tr class="memitem:structphp__property__proxy__object"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__propro__api_8h.html#structphp__property__proxy__object">php_property_proxy_object</a></td></tr>
141 <tr class="memdesc:structphp__property__proxy__object"><td class="mdescLeft">&#160;</td><td class="mdescRight">The userland object. <a href="php__propro__api_8h.html#structphp__property__proxy__object">More...</a><br /></td></tr>
142 <tr class="separator:structphp__property__proxy__object"><td class="memSeparator" colspan="2">&#160;</td></tr>
143 </table><table class="memberdecls">
144 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
145 Typedefs</h2></td></tr>
146 <tr class="memitem:ac27c374d9d0cf65b52b16ea407df9eac"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="php__propro__api_8h.html#structphp__property__proxy">php_property_proxy</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__propro__api_8h.html#ac27c374d9d0cf65b52b16ea407df9eac">php_property_proxy_t</a></td></tr>
147 <tr class="separator:ac27c374d9d0cf65b52b16ea407df9eac"><td class="memSeparator" colspan="2">&#160;</td></tr>
148 <tr class="memitem:aaf59f3ba6014a701909054115f812451"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="php__propro__api_8h.html#structphp__property__proxy__object">php_property_proxy_object</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__propro__api_8h.html#aaf59f3ba6014a701909054115f812451">php_property_proxy_object_t</a></td></tr>
149 <tr class="separator:aaf59f3ba6014a701909054115f812451"><td class="memSeparator" colspan="2">&#160;</td></tr>
150 </table><table class="memberdecls">
151 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
152 Functions</h2></td></tr>
153 <tr class="memitem:a83d5ddbca9a25a062eded906182f205c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="php__propro__api_8h.html#ac27c374d9d0cf65b52b16ea407df9eac">php_property_proxy_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__propro__api_8h.html#a83d5ddbca9a25a062eded906182f205c">php_property_proxy_init</a> (zval *container, const char *member_str, size_t member_len)</td></tr>
154 <tr class="memdesc:a83d5ddbca9a25a062eded906182f205c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a property proxy. <a href="#a83d5ddbca9a25a062eded906182f205c">More...</a><br /></td></tr>
155 <tr class="separator:a83d5ddbca9a25a062eded906182f205c"><td class="memSeparator" colspan="2">&#160;</td></tr>
156 <tr class="memitem:ae185a0f79aac26679cf1dd0de2e46f57"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__propro__api_8h.html#ae185a0f79aac26679cf1dd0de2e46f57">php_property_proxy_free</a> (<a class="el" href="php__propro__api_8h.html#ac27c374d9d0cf65b52b16ea407df9eac">php_property_proxy_t</a> **proxy)</td></tr>
157 <tr class="memdesc:ae185a0f79aac26679cf1dd0de2e46f57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy and free a property proxy. <a href="#ae185a0f79aac26679cf1dd0de2e46f57">More...</a><br /></td></tr>
158 <tr class="separator:ae185a0f79aac26679cf1dd0de2e46f57"><td class="memSeparator" colspan="2">&#160;</td></tr>
159 <tr class="memitem:a15c4fce513dc952c575cd72332835aa4"><td class="memItemLeft" align="right" valign="top">zend_class_entry *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__propro__api_8h.html#a15c4fce513dc952c575cd72332835aa4">php_property_proxy_get_class_entry</a> (void)</td></tr>
160 <tr class="memdesc:a15c4fce513dc952c575cd72332835aa4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the zend_class_entry of php\PropertyProxy. <a href="#a15c4fce513dc952c575cd72332835aa4">More...</a><br /></td></tr>
161 <tr class="separator:a15c4fce513dc952c575cd72332835aa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
162 <tr class="memitem:a35874bda7876fa60b796a9fd90623c1f"><td class="memItemLeft" align="right" valign="top">zend_object_value&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__propro__api_8h.html#a35874bda7876fa60b796a9fd90623c1f">php_property_proxy_object_new</a> (zend_class_entry *ce)</td></tr>
163 <tr class="memdesc:a35874bda7876fa60b796a9fd90623c1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Instantiate a new php\PropertyProxy. <a href="#a35874bda7876fa60b796a9fd90623c1f">More...</a><br /></td></tr>
164 <tr class="separator:a35874bda7876fa60b796a9fd90623c1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
165 <tr class="memitem:a8972f05941efb141dd78c42bef70db2f"><td class="memItemLeft" align="right" valign="top">zend_object_value&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__propro__api_8h.html#a8972f05941efb141dd78c42bef70db2f">php_property_proxy_object_new_ex</a> (zend_class_entry *ce, <a class="el" href="php__propro__api_8h.html#ac27c374d9d0cf65b52b16ea407df9eac">php_property_proxy_t</a> *proxy, <a class="el" href="php__propro__api_8h.html#aaf59f3ba6014a701909054115f812451">php_property_proxy_object_t</a> **ptr)</td></tr>
166 <tr class="memdesc:a8972f05941efb141dd78c42bef70db2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Instantiate a new php\PropertyProxy with <em>proxy</em>. <a href="#a8972f05941efb141dd78c42bef70db2f">More...</a><br /></td></tr>
167 <tr class="separator:a8972f05941efb141dd78c42bef70db2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
168 </table>
169 <hr/><h2 class="groupheader">Data Structure Documentation</h2>
170 <a name="structphp__property__proxy" id="structphp__property__proxy"></a>
171 <div class="memitem">
172 <div class="memproto">
173 <table class="memname">
174 <tr>
175 <td class="memname">struct php_property_proxy</td>
176 </tr>
177 </table>
178 </div><div class="memdoc">
179 <div class="textblock"><p>The internal property proxy. </p>
180 <p>Container for the object/array holding the proxied property. </p>
181 </div><table class="fieldtable">
182 <tr><th colspan="3">Data Fields</th></tr>
183 <tr><td class="fieldtype">
184 <a class="anchor" id="ac0fdbd3fa8f961d7732b89ad81d83f4f"></a>zval *</td>
185 <td class="fieldname">
186 container</td>
187 <td class="fielddoc">
188 The container holding the property. </td></tr>
189 <tr><td class="fieldtype">
190 <a class="anchor" id="ab9d36c8980c76898ce3f4c08f5c8748e"></a>size_t</td>
191 <td class="fieldname">
192 member_len</td>
193 <td class="fielddoc">
194 The length of the name. </td></tr>
195 <tr><td class="fieldtype">
196 <a class="anchor" id="ad6a7b61daa9561ff8bfc13e99dd68f51"></a>char *</td>
197 <td class="fieldname">
198 member_str</td>
199 <td class="fielddoc">
200 The name of the proxied property. </td></tr>
201 </table>
202
203 </div>
204 </div>
205 <a name="structphp__property__proxy__object" id="structphp__property__proxy__object"></a>
206 <div class="memitem">
207 <div class="memproto">
208 <table class="memname">
209 <tr>
210 <td class="memname">struct php_property_proxy_object</td>
211 </tr>
212 </table>
213 </div><div class="memdoc">
214 <div class="textblock"><p>The userland object. </p>
215 <p>Return an object instance of php\PropertyProxy to make your C-struct member accessible by reference from PHP userland.</p>
216 <p>Example:</p><ul>
217 <li><p class="startli">~~~~~~~~~~{.c} static zval *my_read_prop(zval *object, zval *member, int type, zend_literal *key TSRMLS_DC) { my_object_t *obj = zend_object_store_get_object(object TSRMLS_CC); my_prophandler_t *handler; zval *return_value, *copy = my_cast(IS_STRING, member);</p>
218 <p class="startli">if (SUCCESS == my_get_prophandler(Z_STRVAL_P(copy), Z_STRLEN_P(copy), &amp;handler)) { ALLOC_ZVAL(return_value); Z_SET_REFCOUNT_P(return_value, 0); Z_UNSET_ISREF_P(return_value);</p>
219 <p class="startli">if (type == BP_VAR_R) { handler-&gt;read(obj, return_value TSRMLS_CC); } else { // // This is the interesting part // php_property_proxy_t *proxy; zend_object_value proxy_ov; zend_class_entry *proxy_ce;</p>
220 <p class="startli">proxy = php_property_proxy_init(object, Z_STRVAL_P(copy), Z_STRLEN_P(copy) TSRMLS_CC); proxy_ce = <a class="el" href="php__propro__api_8c.html#a15c4fce513dc952c575cd72332835aa4" title="Get the zend_class_entry of php\PropertyProxy. ">php_property_proxy_get_class_entry()</a>; proxy_ov = php_property_proxy_object_new_ex(proxy_ce, proxy, NULL TSRMLS_CC); RETVAL_OBJVAL(proxy_ov, 0); } } else { zend_object_handlers *oh = zend_get_std_object_handlers(); return_value = oh-&gt;read_property(object, member, type, key TSRMLS_CC); }</p>
221 <p class="startli">zval_ptr_dtor(&amp;copy);</p>
222 <p class="startli">return return_value; }</p>
223 </li>
224 <li>~~~~~~~~~~ </li>
225 </ul>
226 </div><div class="dynheader">
227 Collaboration diagram for php_property_proxy_object:</div>
228 <div class="dyncontent">
229 <div class="center"><img src="structphp__property__proxy__object__coll__graph.png" border="0" usemap="#php__property__proxy__object_coll__map" alt="Collaboration graph"/></div>
230 <map name="php__property__proxy__object_coll__map" id="php__property__proxy__object_coll__map">
231 <area shape="rect" id="node2" href="php__propro__api_8h.html#structphp__property__proxy" title="The internal property proxy. " alt="" coords="5,5,141,32"/>
232 </map>
233 <center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
234 <table class="fieldtable">
235 <tr><th colspan="3">Data Fields</th></tr>
236 <tr><td class="fieldtype">
237 <a class="anchor" id="acc1787566cbeff6448101dc27c274294"></a>struct <a class="el" href="php__propro__api_8h.html#structphp__property__proxy__object">php_property_proxy_object</a> *</td>
238 <td class="fieldname">
239 parent</td>
240 <td class="fielddoc">
241 A reference to any parent property proxy object. </td></tr>
242 <tr><td class="fieldtype">
243 <a class="anchor" id="a87b08fb8c8dd5a44bccfac6fb81d2103"></a><a class="el" href="php__propro__api_8h.html#ac27c374d9d0cf65b52b16ea407df9eac">php_property_proxy_t</a> *</td>
244 <td class="fieldname">
245 proxy</td>
246 <td class="fielddoc">
247 The actual property proxy. </td></tr>
248 <tr><td class="fieldtype">
249 <a class="anchor" id="a613d3470bf10261b3903e12d1b94f635"></a>zend_object</td>
250 <td class="fieldname">
251 zo</td>
252 <td class="fielddoc">
253 The std zend_object. </td></tr>
254 <tr><td class="fieldtype">
255 <a class="anchor" id="aefc91dcb332c026b37d3c222d338fe34"></a>zend_object_value</td>
256 <td class="fieldname">
257 zv</td>
258 <td class="fielddoc">
259 The object value for easy zval creation. </td></tr>
260 </table>
261
262 </div>
263 </div>
264 <h2 class="groupheader">Typedef Documentation</h2>
265 <a class="anchor" id="aaf59f3ba6014a701909054115f812451"></a>
266 <div class="memitem">
267 <div class="memproto">
268 <table class="memname">
269 <tr>
270 <td class="memname">typedef struct <a class="el" href="php__propro__api_8h.html#structphp__property__proxy__object">php_property_proxy_object</a> <a class="el" href="php__propro__api_8h.html#aaf59f3ba6014a701909054115f812451">php_property_proxy_object_t</a></td>
271 </tr>
272 </table>
273 </div><div class="memdoc">
274
275 </div>
276 </div>
277 <a class="anchor" id="ac27c374d9d0cf65b52b16ea407df9eac"></a>
278 <div class="memitem">
279 <div class="memproto">
280 <table class="memname">
281 <tr>
282 <td class="memname">typedef struct <a class="el" href="php__propro__api_8h.html#structphp__property__proxy">php_property_proxy</a> <a class="el" href="php__propro__api_8h.html#ac27c374d9d0cf65b52b16ea407df9eac">php_property_proxy_t</a></td>
283 </tr>
284 </table>
285 </div><div class="memdoc">
286
287 </div>
288 </div>
289 <h2 class="groupheader">Function Documentation</h2>
290 <a class="anchor" id="ae185a0f79aac26679cf1dd0de2e46f57"></a>
291 <div class="memitem">
292 <div class="memproto">
293 <table class="memname">
294 <tr>
295 <td class="memname">void php_property_proxy_free </td>
296 <td>(</td>
297 <td class="paramtype"><a class="el" href="php__propro__api_8h.html#ac27c374d9d0cf65b52b16ea407df9eac">php_property_proxy_t</a> **&#160;</td>
298 <td class="paramname"><em>proxy</em></td><td>)</td>
299 <td></td>
300 </tr>
301 </table>
302 </div><div class="memdoc">
303
304 <p>Destroy and free a property proxy. </p>
305 <p>The destruction of the property proxy object calls this.</p>
306 <dl class="params"><dt>Parameters</dt><dd>
307 <table class="params">
308 <tr><td class="paramname">proxy</td><td>a pointer to the allocated property proxy </td></tr>
309 </table>
310 </dd>
311 </dl>
312
313 </div>
314 </div>
315 <a class="anchor" id="a15c4fce513dc952c575cd72332835aa4"></a>
316 <div class="memitem">
317 <div class="memproto">
318 <table class="memname">
319 <tr>
320 <td class="memname">zend_class_entry* php_property_proxy_get_class_entry </td>
321 <td>(</td>
322 <td class="paramtype">void&#160;</td>
323 <td class="paramname"></td><td>)</td>
324 <td></td>
325 </tr>
326 </table>
327 </div><div class="memdoc">
328
329 <p>Get the zend_class_entry of php\PropertyProxy. </p>
330 <dl class="section return"><dt>Returns</dt><dd>the class entry pointer </dd></dl>
331
332 </div>
333 </div>
334 <a class="anchor" id="a83d5ddbca9a25a062eded906182f205c"></a>
335 <div class="memitem">
336 <div class="memproto">
337 <table class="memname">
338 <tr>
339 <td class="memname"><a class="el" href="php__propro__api_8h.html#ac27c374d9d0cf65b52b16ea407df9eac">php_property_proxy_t</a>* php_property_proxy_init </td>
340 <td>(</td>
341 <td class="paramtype">zval *&#160;</td>
342 <td class="paramname"><em>container</em>, </td>
343 </tr>
344 <tr>
345 <td class="paramkey"></td>
346 <td></td>
347 <td class="paramtype">const char *&#160;</td>
348 <td class="paramname"><em>member_str</em>, </td>
349 </tr>
350 <tr>
351 <td class="paramkey"></td>
352 <td></td>
353 <td class="paramtype">size_t&#160;</td>
354 <td class="paramname"><em>member_len</em>&#160;</td>
355 </tr>
356 <tr>
357 <td></td>
358 <td>)</td>
359 <td></td><td></td>
360 </tr>
361 </table>
362 </div><div class="memdoc">
363
364 <p>Create a property proxy. </p>
365 <p>The property proxy will forward reads and writes to itself to the proxied property with name <em>member_str</em> of <em>container</em>.</p>
366 <dl class="params"><dt>Parameters</dt><dd>
367 <table class="params">
368 <tr><td class="paramname">container</td><td>the container holding the property </td></tr>
369 <tr><td class="paramname">member_str</td><td>the name of the proxied property </td></tr>
370 <tr><td class="paramname">member_len</td><td>the length of the name </td></tr>
371 </table>
372 </dd>
373 </dl>
374 <dl class="section return"><dt>Returns</dt><dd>a new property proxy </dd></dl>
375
376 </div>
377 </div>
378 <a class="anchor" id="a35874bda7876fa60b796a9fd90623c1f"></a>
379 <div class="memitem">
380 <div class="memproto">
381 <table class="memname">
382 <tr>
383 <td class="memname">zend_object_value php_property_proxy_object_new </td>
384 <td>(</td>
385 <td class="paramtype">zend_class_entry *&#160;</td>
386 <td class="paramname"><em>ce</em></td><td>)</td>
387 <td></td>
388 </tr>
389 </table>
390 </div><div class="memdoc">
391
392 <p>Instantiate a new php\PropertyProxy. </p>
393 <dl class="params"><dt>Parameters</dt><dd>
394 <table class="params">
395 <tr><td class="paramname">ce</td><td>the property proxy or derived class entry </td></tr>
396 </table>
397 </dd>
398 </dl>
399 <dl class="section return"><dt>Returns</dt><dd>the zval object value </dd></dl>
400
401 <p><div class="dynheader">
402 Here is the call graph for this function:</div>
403 <div class="dyncontent">
404 <div class="center"><img src="php__propro__api_8h_a35874bda7876fa60b796a9fd90623c1f_cgraph.png" border="0" usemap="#php__propro__api_8h_a35874bda7876fa60b796a9fd90623c1f_cgraph" alt=""/></div>
405 <map name="php__propro__api_8h_a35874bda7876fa60b796a9fd90623c1f_cgraph" id="php__propro__api_8h_a35874bda7876fa60b796a9fd90623c1f_cgraph">
406 <area shape="rect" id="node2" href="php__propro__api_8c.html#a8972f05941efb141dd78c42bef70db2f" title="Instantiate a new php\PropertyProxy with proxy. " alt="" coords="189,5,325,47"/>
407 </map>
408 </div>
409 </p>
410
411 </div>
412 </div>
413 <a class="anchor" id="a8972f05941efb141dd78c42bef70db2f"></a>
414 <div class="memitem">
415 <div class="memproto">
416 <table class="memname">
417 <tr>
418 <td class="memname">zend_object_value php_property_proxy_object_new_ex </td>
419 <td>(</td>
420 <td class="paramtype">zend_class_entry *&#160;</td>
421 <td class="paramname"><em>ce</em>, </td>
422 </tr>
423 <tr>
424 <td class="paramkey"></td>
425 <td></td>
426 <td class="paramtype"><a class="el" href="php__propro__api_8h.html#ac27c374d9d0cf65b52b16ea407df9eac">php_property_proxy_t</a> *&#160;</td>
427 <td class="paramname"><em>proxy</em>, </td>
428 </tr>
429 <tr>
430 <td class="paramkey"></td>
431 <td></td>
432 <td class="paramtype"><a class="el" href="php__propro__api_8h.html#aaf59f3ba6014a701909054115f812451">php_property_proxy_object_t</a> **&#160;</td>
433 <td class="paramname"><em>ptr</em>&#160;</td>
434 </tr>
435 <tr>
436 <td></td>
437 <td>)</td>
438 <td></td><td></td>
439 </tr>
440 </table>
441 </div><div class="memdoc">
442
443 <p>Instantiate a new php\PropertyProxy with <em>proxy</em>. </p>
444 <dl class="params"><dt>Parameters</dt><dd>
445 <table class="params">
446 <tr><td class="paramname">ce</td><td>the property proxy or derived class entry </td></tr>
447 <tr><td class="paramname">proxy</td><td>the internal property proxy </td></tr>
448 <tr><td class="paramname">ptr</td><td>a pointer to store the resulting property proxy object </td></tr>
449 </table>
450 </dd>
451 </dl>
452 <dl class="section return"><dt>Returns</dt><dd>the zval object value </dd></dl>
453
454 <p>Referenced by <a class="el" href="php__propro__api_8h.html#a35874bda7876fa60b796a9fd90623c1f">php_property_proxy_object_new()</a>.</p>
455
456 <p><div class="dynheader">
457 Here is the caller graph for this function:</div>
458 <div class="dyncontent">
459 <div class="center"><img src="php__propro__api_8h_a8972f05941efb141dd78c42bef70db2f_icgraph.png" border="0" usemap="#php__propro__api_8h_a8972f05941efb141dd78c42bef70db2f_icgraph" alt=""/></div>
460 <map name="php__propro__api_8h_a8972f05941efb141dd78c42bef70db2f_icgraph" id="php__propro__api_8h_a8972f05941efb141dd78c42bef70db2f_icgraph">
461 <area shape="rect" id="node2" href="php__propro__api_8h.html#a35874bda7876fa60b796a9fd90623c1f" title="Instantiate a new php\PropertyProxy. " alt="" coords="189,5,325,47"/>
462 </map>
463 </div>
464 </p>
465
466 </div>
467 </div>
468 </div><!-- contents -->
469 </div><!-- doc-content -->
470 <!-- start footer part -->
471 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
472 <ul>
473 <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="php__propro__api_8h.html">php_propro_api.h</a></li>
474 <li class="footer">Generated by
475 <a href="http://www.doxygen.org/index.html">
476 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.10 </li>
477 </ul>
478 </div>
479 </body>
480 </html>