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