dst2007 2013-06-27 07:53
浏览 36
已采纳

选择性函数寄存器与xslt PHP

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条回答 默认 最新

  • dongmou5628 2013-06-27 08: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);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部