在定义函数之前定义变量的值?

时间:2010-10-01 作者:fxfuture

我正在尝试编辑一个插件,以便仅当用户是管理员时才显示其子菜单,但我不知道如何在函数之前定义变量的值:

function load_view( $name, $params = array(), $print_submenu_navigation = false ) {
到目前为止,我的代码是:

if (current_user_can(\'administrator\')) {
 $print_submenu_navigation = true;  
}
else {
 $print_submenu_navigation = false;
}
如果我把这个放在函数之前,我会得到一个php错误,告诉我它需要一个函数。

1 个回复
最合适的回答,由SO网友:Rarst 整理而成

错误的方法。$print_submenu_navigation 当用参数调用函数时,将在局部范围中填充,这与全局变量无关。

调用函数(未定义)时,您需要这样的结果:

load_view( \'name\', array(), current_user_can(\'administrator\') ) {
或者,您可以添加代码段inside 函数,然后输入值$print_submenu_navigation 将用您的检查结果覆盖。

这样写比较短,函数返回布尔值:

$print_submenu_navigation = current_user_can(\'administrator\');

结束

相关推荐

How do you debug plugins?

我对插件创作还很陌生,调试也很困难。我用了很多echo,它又脏又丑。我确信有更好的方法可以做到这一点,也许是一个带有调试器的IDE,我可以在其中运行整个站点,包括插件?