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.

选择性函数寄存器与xslt PHP
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- dongmou5628 2013-06-27 16:33关注
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);
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报