在定义函数之前调用函数 PHP

Mac*_*Mac 13 php

一个文件中有没有可能的方法- 请注意,只有一个文件.在尚未定义的情况下调用函数,例如

<?php

echo global_title();

function global_title()
{
    $title = $_GET['name'];

    return $title;
}

?>
Run Code Online (Sandbox Code Playgroud)

我不知道怎么解释这个,但不是很可能不是吗?可以在不同的文件中调用来自另一个文件(不包括它)的变量,例如

config.php文件

<?php

$db = "localhost";

?> 
Run Code Online (Sandbox Code Playgroud)

的index.php

<?php

// I do not want it to be accessed by including it or using sessions

echo $db;

?>
Run Code Online (Sandbox Code Playgroud)

明白我的意思了吗?:)

bis*_*sko 30

您可以调用调用后定义的函数.那是因为PHP首先解析文件然后执行它.

至于变量 - 这是不可能的,你必须包含该文件.

  • 那么,在编译该文件之后,可以使用未包含在条件中的函数(如`if`).变量仅在执行到达该行后才可用... (10认同)
  • 当您不想重新定义已经定义的函数时,您肯定会在 if 条件中定义函数,因为这会导致 PHP 解析错误。就像这样 `if (!function_exists("my_function")) function my_function() {return "You see?:)";}`。在这种情况下,您不能在定义之前调用该函数。 (3认同)
  • @DougMolineux,阅读条件编译。基本上,如果不需要处理函数,就不要。 (2认同)
  • @DougMolineux 用例 Pacerier 在实现可以在其他软件的旧版本上运行/一起运行的代码时最常见。例如检查 php 是否低于 5.3.0 版本并添加一些早期版本中未包含或具有不同行为的功能。这不会牺牲可读性或可维护性。它提供兼容性。 (2认同)

lol*_*que 6

我刚刚发现如果稍后在同一个文件中定义了一个函数,您就可以调用它。
但如果它是在其他文件中定义的,则必须在调用该函数之前包含该文件。

my_func();
function my_func() {...}
--->   No problem
Run Code Online (Sandbox Code Playgroud)

my_func();
include_once 'define_my_func.php';
--->   PHP Fatal error
Run Code Online (Sandbox Code Playgroud)

它就像一个条件函数,如用户定义函数文档中的示例 2 所示