On 25/02/14 3:05 AM, Petko Yotov wrote:
V.Krishn writes:
I am trying to use a callback as in example here,
http://www.pmwiki.org/wiki/PmWiki/CustomMarkup#php55
Which of the two conversion methods
described here 'PmWiki/CustomMarkup#php55' is recommended

in simple replacements code like,
"functionName(\$pagename, PSS('$1'))" ?

If your function doesn't use $pagename:

 Markup('name', 'where', 'pattern', 'functionName');
 function functionName($m) {  } # '$1' is now $m[1], no need for PSS()
Wolfgang pointed out a few days ago that we can also use an anonymous function:

Markup('name', 'where', 'pattern', function ($m) { return ... ; } );

This requires php 5.3 or later.

If your function uses $pagename, either the above with the extract() line, or this:

Markup_e('name', 'where', 'pattern', "functionName(\$pagename, \$m[1])");
We can use an anonymous function here too (although I have not tested this):

Markup('name', 'where', 'pattern', function ($m) use (&$pagename) { return ... ; } );

See http://nz1.php.net/manual/en/functions.anonymous.php

The advantage of Petko's approach is that it works with any version of php.

JR

--
John Rankin


_______________________________________________
pmwiki-devel mailing list
pmwiki-devel@pmichaud.com
http://www.pmichaud.com/mailman/listinfo/pmwiki-devel

Reply via email to