Stephan Gambke wrote:
I work on an extension that used to call parse() directly. Then after some advice from mw developers this was changed to a call to recursiveTagParse because "parse should not be called directly".
Only problem is, the method that used to call parse() is used to populate a Special page, so parse() is never called in the first place, right? This means all the things parse() does in addition to recursiveTagParse have to be copied over. So, what exactly makes it so inadvisable to call parse()?
Stephan
parse() is used from outside the parser. If you are a parser hook (a tag, or parser function), you must call recursiveTagParse(). If you are a Special page, you can happily call parse() (you may prefer to call $wgOut's parse, though).