在下面的脚本中,声明项目的顺序是否重要?
例如,如果 add_action 指向一个尚未定义的函数?函数声明是否重要还是应该总是在调用它的任何代码之前?
add_action('load-categories.php', 'my_admin_init');
function my_admin_init(){
//do something
}
在下面的脚本中,声明项目的顺序是否重要?
例如,如果 add_action 指向一个尚未定义的函数?函数声明是否重要还是应该总是在调用它的任何代码之前?
add_action('load-categories.php', 'my_admin_init');
function my_admin_init(){
//do something
}
不管函数是在调用之前还是之后声明的,但函数应该在脚本中并且应该被加载。
这是第一种方法,它将起作用:
some_func($a,$b);
function some_func($a,$b)
{
echo 'Called';
}
这是第二种方法,也可以:
function some_func($a,$b)
{
echo 'Called';
}
some_func($a,$b);
从PHP 手册:
函数在被引用之前不需要定义,除非一个函数是有条件地定义的,如下面的两个例子所示。
然而,虽然这更多是个人喜好,但我强烈建议将您实际使用的所有函数包含在外部functions.php
文件中,然后在主 PHP 文件的最顶部使用require_once()
或include_once()
(取决于口味)。这更符合逻辑——如果其他人正在阅读您的代码,那么很明显您正在使用自定义函数并且它们位于functions.php
. 节省了大量的猜测 IMO。
您可以在定义之前调用函数,首先解析文件然后执行。
不
,它不是 C :P ...
正如您在此处看到的,整个文件首先被解析然后执行。
如果调用了一个不存在的函数,php 会抛出一个错误。
致命错误:调用未定义的函数
根据我个人的经验,在某些特殊情况下(例如,在函数中传递数组或在函数中传递函数等等)。最好在调用上方定义函数。因此,有时函数都不起作用,PHP 也不会抛出错误。
在普通的php函数中,没关系。您可以使用这两种类型。