2011-07-29 43 views
0

我为cms构建了一个(迄今为止)很不错的模板机制。现在,我还在开发过程中向用户界面添加了一组开发人员工具,以提供更好的UX。我唯一的问题是我必须使用create_function来添加我的模板,因此有lambda_xyz而不是有意义的模板或函数名称。重命名lambda函数(php)

问题:有没有一种方法/解决在PHP中为lambda函数提供有意义的名称?

+0

你为什么要使用lambdas? –

+0

模板部件和位置具有层次结构。我将它与自定义函数进行匹配并将其添加到全局数组中。当视口被渲染时,模板部分被添加。 lambda函数在两者之间起作用,我必须立即创建函数。 – kaiser

+2

如果你想给lambda表达一个有意义的名字......他们不应该只是常规方法吗? – Kevin

回答

1

这种提法可能能够指出你在正确的方向: http://php.net/manual/en/functions.anonymous.php


匿名函数需要PHP 5> = 5.3.0

$function_name = 'meaningful_name'; 

// PHP 5 >= 5.3.0 
$$function_name = function(){echo "I am connected to a meaningful name";}; 

// PHP 4 >= 4.0.1, PHP 5 
$$function_name = create_function('', 'echo "I am connected to a meaningful name";'); 

// Then you can call your function like this 
$meaningful_name(); 

如果这不是你正在寻找,你可以更新你的问题与你想要更详细地完成什么?

+0

我已经通过php.net链接到'create_function'和匿名函数。任何提示更详细? – kaiser

+0

@Gabi Purcaru以“_syntax错误,意外的T_VARIABLE_”结尾。 – kaiser

+0

@kaiser - 在函数结尾处缺少';',因此您可能需要在 – afuzzyllama