(no description)
File Size: | 152 lines (6 kb) |
Included or required: | 0 times |
Referenced: | 0 times |
Includes or requires: | 0 files |
XMLProcessor:: (7 methods):
__construct()
registerCallback()
readUntilStopped()
getCallbackKey()
getInvokableCallbackData()
getRegisteredCallbackData()
invokeCallback()
Class: XMLProcessor - X-Ref
__construct(XMLReader $xmlReader) X-Ref |
param: XMLReader $xmlReader XMLReader object |
registerCallback(string $nodeName, int $nodeType, $callback) X-Ref |
param: string $nodeName A callback may be triggered when a node with this name is read param: int $nodeType Type of the node [NODE_TYPE_START || NODE_TYPE_END] param: callable $callback Callback to execute when the read node has the given name and type |
readUntilStopped() X-Ref |
Resumes the reading of the XML file where it was left off. Stops whenever a callback indicates that reading should stop or at the end of the file. |
getCallbackKey(string $nodeName, int $nodeType) X-Ref |
param: string $nodeName Name of the node param: int $nodeType Type of the node [NODE_TYPE_START || NODE_TYPE_END] return: string Key used to store the associated callback |
getInvokableCallbackData($callback) X-Ref |
Because the callback can be a "protected" function, we don't want to use call_user_func() directly but instead invoke the callback using Reflection. This allows the invocation of "protected" functions. Since some functions can be called a lot, we pre-process the callback to only return the elements that will be needed to invoke the callback later. param: callable $callback Array reference to a callback: [OBJECT, METHOD_NAME] return: array{reflectionMethod: ReflectionMethod, reflectionObject: object} Associative array containing the elements needed to invoke the callback using Reflection |
getRegisteredCallbackData(string $nodeNamePossiblyWithPrefix, string $nodeNameWithoutPrefix, int $nodeType) X-Ref |
param: string $nodeNamePossiblyWithPrefix Name of the node, possibly prefixed param: string $nodeNameWithoutPrefix Name of the same node, un-prefixed param: int $nodeType Type of the node [NODE_TYPE_START || NODE_TYPE_END] return: null|array{reflectionMethod: ReflectionMethod, reflectionObject: object} Callback data to be used for execution when a node of the given name/type is read or NULL if none found |
invokeCallback(array $callbackData, array $args) X-Ref |
param: array{reflectionMethod: ReflectionMethod, reflectionObject: object} $callbackData Associative array containing data to invoke the callback using Reflection param: XMLReader[] $args Arguments to pass to the callback return: int Callback response |