0

I have a class which is made of only static methods. I want to register the class so that XSLT engine can use it. As far I am aware XSLTProcessor::registerPHPFunctions() either registers all class and functions unless first parameter $restrict is passed and first param only takes method name in string or as array. How to register a whole class to XSLT so that all static method of a class can be accessible from xslt page.

1 Answer 1

2

Assuming you have a class named Foo, you can get an array of all the class methods with code like this:

function addClassPrefix($name) {
  return "Foo::$name";
}
$names = array_map("addClassPrefix", get_class_methods("Foo"));

Note the need to add the class name as a prefix in front of each method name.

You can then simply register the whole array like this:

$proc = new XSLTProcessor();
$proc->registerPHPFunctions($names);
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.