功能定义顺序是否重要?

Sco*_*t B 24 php procedural-programming function

在下面的脚本中,声明项目的顺序是否重要?

例如,如果add_action指向尚未定义的函数?是否重要或者函数声明是否总是在其调用的任何代码之前?

add_action('load-categories.php', 'my_admin_init');
function my_admin_init(){
//do something
}
Run Code Online (Sandbox Code Playgroud)

Sha*_*ngh 30

如果函数在调用之前或之后声明,但函数应该在脚本中并且应该加载,那么无关紧要.

这是第一种方法,它将起作用:

some_func($a,$b);

function some_func($a,$b)
{
    echo 'Called';
}
Run Code Online (Sandbox Code Playgroud)

这是第二种方法,也可以使用:

function some_func($a,$b)
{
    echo 'Called';
}

some_func($a,$b);
Run Code Online (Sandbox Code Playgroud)


小智 7

PHP手册:

在引用函数之前不需要定义函数,除非有条件地定义函数,如下面两个示例所示.

然而,虽然这更多的是个人偏好,但我强烈建议在实际使用的所有函数中包含外部functions.php文件,然后在主PHP文件的最顶部使用require_once()include_once()(取决于品味).这更符合逻辑 - 如果其他人正在阅读您的代码,那么您使用自定义函数并且它们位于其中是非常明显的functions.php.节省了大量的猜测IMO.