我发布这个是因为它在Google或php.net上并不明显
==> 请示范的几个例子语法为向前声明功能,在PHP语言.
例如(在C++中):
int foo(); // forward declaration
int x = foo(); // calling the function.
int foo() // the actual implementation
{
return 5;
}
Run Code Online (Sandbox Code Playgroud)
这看起来如何用PHP?多个参数怎么样?默认参数怎么样?最佳做法是什么?为什么?
你不需要在PHP中进行前向声明,而是需要在当前脚本中声明函数(即使它是在调用之后),或者在任何包含/必需的脚本中,给出执行include/require语句在你调用这个函数之前.
没有前瞻性声明.
如果在当前脚本上,即使在最后,在调用之后:它还可以
如果当前脚本在脚本INCLUDEd/REQUIREd上,则应在调用函数之前执行INCLUDE/REQUIRE语句.
如果它在一个脚本上包含/请求当前脚本:它没问题(即使在INCLUDE/REQUIRE语句之后声明)
我想说所请求的示例并不是证明前向声明的必要性的最佳示例。比如说,我们需要以下内容:
function foo($n) {
echo 'Foo';
if($n>0) bar($n-1);
}
function bar($n) {
echo 'Bar';
if($n>0) foo($n-1);
}
foo(200);
Run Code Online (Sandbox Code Playgroud)
尽管foo中存在“未定义”函数bar,但上面的代码在 PHP 中完美运行。看来 PHP 在调用函数时会检查函数定义。
所以答案是: