3 * Automatically generated by running "php schema.php class".
5 * You may modify the file, but re-running schema.php against this file will
6 * standardize the format without losing your schema changes. It does lose
7 * any changes that are not part of schema. Use "note" field to comment on
8 * schema itself, and "note" fields are not used in any code generation but
9 * only staying within this file.
11 ///////////////////////////////////////////////////////////////////////////////
12 // Preamble: C++ code inserted at beginning of ext_{name}.h
19 ///////////////////////////////////////////////////////////////////////////////
23 // 'name' => name of the constant
24 // 'type' => type of the constant
25 // 'note' => additional note about this constant's schema
29 ///////////////////////////////////////////////////////////////////////////////
33 // 'name' => name of the function
34 // 'desc' => description of the function's purpose
35 // 'flags' => attributes of the function, see base.php for possible values
36 // 'opt' => optimization callback function's name for compiler
37 // 'note' => additional note about this function's schema
40 // 'type' => return type, use Reference for ref return
41 // 'desc' => description of the return value
43 // 'args' => arguments
45 // 'name' => name of the argument
46 // 'type' => type of the argument, use Reference for output parameter
47 // 'value' => default value of the argument
48 // 'desc' => description of the argument
54 'name' => "get_declared_classes",
55 'desc' => "Gets the declared classes.",
56 'flags' => HasDocComment
,
59 'desc' => "Returns an array of the names of the declared classes in the current script.\n\nNote that depending on what extensions you have compiled or loaded into PHP, additional classes could be present. This means that you will not be able to define your own classes using these names. There is a list of predefined classes in the Predefined Classes section of the appendices.",
61 'taint_observer' => false,
66 'name' => "get_declared_interfaces",
67 'desc' => "Gets the declared interfaces.",
68 'flags' => HasDocComment
,
71 'desc' => "Returns an array of the names of the declared interfaces in the current script.",
73 'taint_observer' => false,
78 'name' => "get_declared_traits",
79 'desc' => "Gets the declared traits.",
80 'flags' => HasDocComment
,
83 'desc' => "Returns an array of the names of the declared traits in the current script.",
89 'name' => "class_exists",
90 'desc' => "This function checks whether or not the given class has been defined.",
91 'flags' => HasDocComment
,
94 'desc' => "Returns TRUE if class_name is a defined class, FALSE otherwise.",
98 'name' => "class_name",
100 'desc' => "The class name. The name is matched in a case-insensitive manner.",
103 'name' => "autoload",
106 'desc' => "Whether or not to call __autoload by default.",
109 'taint_observer' => false,
114 'name' => "interface_exists",
115 'desc' => "Checks if the given interface has been defined.",
116 'flags' => HasDocComment
,
119 'desc' => "Returns TRUE if the interface given by interface_name has been defined, FALSE otherwise.",
123 'name' => "interface_name",
125 'desc' => "The interface name",
128 'name' => "autoload",
131 'desc' => "Whether to call __autoload or not by default.",
134 'taint_observer' => false,
139 'name' => "trait_exists",
140 'desc' => "Checks if the given trait has been defined.",
141 'flags' => HasDocComment
,
144 'desc' => "Returns TRUE if the trait given by trait_name has been defined, FALSE otherwise.",
148 'name' => "trait_name",
150 'desc' => "The trait name",
153 'name' => "autoload",
156 'desc' => "Whether to call __autoload or not by default.",
163 'name' => "get_class_methods",
164 'desc' => "Gets the class methods names.",
165 'flags' => HasDocComment
,
167 'type' => VariantMap
,
168 'desc' => "Returns an array of method names defined for the class specified by class_name. In case of an error, it returns NULL.",
172 'name' => "class_or_object",
174 'desc' => "The class name or an object instance",
177 'taint_observer' => false,
182 'name' => "get_class_vars",
183 'desc' => "Get the default properties of the given class.",
184 'flags' => HasDocComment
,
186 'type' => VariantMap
,
187 'desc' => "Returns an associative array of declared properties visible from the current scope, with their default value. The resulting array elements are in the form of varname => value.",
191 'name' => "class_name",
193 'desc' => "The class name",
196 'taint_observer' => false,
201 'name' => "get_class_constants",
202 'desc' => "Get the constants of the given class.",
203 'flags' => HasDocComment | HipHopSpecific
,
205 'type' => VariantMap
,
206 'desc' => "Returns an associative array of constants with their values."
210 'name' => "class_name",
212 'desc' => "The class name",
215 'taint_observer' => false,
220 'name' => "get_class",
221 'desc' => "Gets the name of the class of the given object.",
222 'flags' => HasDocComment
,
225 'desc' => "Returns the name of the class of which object is an instance. Returns FALSE if object is not an object.\n\nIf object is omitted when inside a class, the name of that class is returned.",
231 'value' => "null_variant",
232 'desc' => "The tested object. This parameter may be omitted when inside a class.",
235 'taint_observer' => false,
240 'name' => "get_parent_class",
241 'desc' => "Retrieves the parent class name for object or class.",
242 'flags' => HasDocComment
,
245 'desc' => "Returns the name of the parent class of the class of which object is an instance or the name.\n\nIf the object does not have a parent FALSE will be returned.\n\nIf called without parameter outside object, this function returns FALSE.",
251 'value' => "null_variant",
252 'desc' => "The tested object or class name",
255 'taint_observer' => false,
261 'desc' => "Checks if the given object is of this class or has this class as one of its parents.",
262 'flags' => HasDocComment
,
265 'desc' => "Returns TRUE if the object is of this class or has this class as one of its parents, FALSE otherwise.",
269 'name' => "class_or_object",
271 'desc' => "The tested object",
274 'name' => "class_name",
276 'desc' => "The class name",
279 'name' => 'allow_string',
282 'desc' => "If this parameter set to false (default), string class name as object is not allowed. This also prevents from calling autoloader if the class doesn't exist.",
285 'taint_observer' => false,
290 'name' => "is_subclass_of",
291 'desc' => "Checks if the given object has the class class_name as one of its parents.",
292 'flags' => HasDocComment
,
295 'desc' => "This function returns TRUE if the object object, belongs to a class which is a subclass of class_name, FALSE otherwise.",
299 'name' => "class_or_object",
301 'desc' => "A class name or an object instance",
304 'name' => "class_name",
306 'desc' => "The class name",
309 'name' => "allow_string",
312 'desc' => "If this parameter set to false, string class name as object is not allowed. This also prevents from calling autoloader if the class doesn't exist.",
315 'taint_observer' => false,
320 'name' => "method_exists",
321 'desc' => "Checks if the class method exists in the given object.",
322 'flags' => HasDocComment
,
325 'desc' => "Returns TRUE if the method given by method_name has been defined for the given object, FALSE otherwise.",
329 'name' => "class_or_object",
331 'desc' => "An object instance or a class name",
334 'name' => "method_name",
336 'desc' => "The method name",
339 'taint_observer' => false,
344 'name' => "property_exists",
345 'desc' => "This function checks if the given property exists in the specified class.\n\nAs opposed with isset(), property_exists() returns TRUE even if the property has the value NULL.",
346 'flags' => HasDocComment
,
349 'desc' => "Returns TRUE if the property exists, FALSE if it doesn't exist or NULL in case of an error.",
353 'name' => "class_or_object",
355 'desc' => "The class name or an object of the class to test for",
358 'name' => "property",
360 'desc' => "The name of the property",
363 'taint_observer' => false,
368 'name' => "get_object_vars",
369 'desc' => "Gets the accessible non-static properties of the given object according to scope.",
370 'flags' => HasDocComment
,
373 'desc' => "Returns an associative array of defined object accessible non-static properties for the specified object in scope. If a property have not been assigned a value, it will be returned with a NULL value.",
379 'desc' => "An object instance.",
382 'taint_observer' => false,
387 'name' => "call_user_method_array",
388 'flags' => HasDocComment
,
394 'name' => "method_name",
396 'desc' => "The method name being called.",
400 'type' => Variant | Reference
,
401 'desc' => "The object that method_name is being called on.",
404 'name' => "paramarr",
405 'type' => VariantVec
,
406 'desc' => "An array of parameters.",
409 'taint_observer' => false,
414 'name' => "call_user_method",
415 'flags' => HasDocComment | VariableArguments
,
421 'name' => "method_name",
423 'desc' => "The method name being called.",
427 'type' => Variant | Reference
,
428 'desc' => "The object that method_name is being called on.",
431 'taint_observer' => false,
435 ///////////////////////////////////////////////////////////////////////////////
440 // 'name' => name of the class
441 // 'desc' => description of the class's purpose
442 // 'flags' => attributes of the class, see base.php for possible values
443 // 'note' => additional note about this class's schema
444 // 'parent' => parent class name, if any
445 // 'ifaces' => array of interfaces tihs class implements
446 // 'bases' => extra internal and special base classes this class requires
447 // 'footer' => extra C++ inserted at end of class declaration
450 // DefineConstant(..)
451 // DefineConstant(..)
453 // DefineFunction(..)
454 // DefineFunction(..)
460 // 'name' => name of the property
461 // 'type' => type of the property
462 // 'flags' => attributes of the property
463 // 'desc' => description of the property
464 // 'note' => additional note about this property's schema