gpt4 book ai didi

php - 在面向对象的 PHP 中使用函数之前是否需要定义它们?

转载 作者:行者123 更新时间:2023-12-04 16:13:51 25 4
gpt4 key购买 nike

不确定我是否正确地表述了问题,但让我解释一下。在过程程序中,例如:

function getUserId()
{
// some stuff
return $someUserId;
}

function getUsername()
{
$id = getUserId();
$query = mysql_query(" SELECT * FROM users WHERE id = '$id' ");
while ($row = mysql_fetch_assoc($query))
{
return $row['username'];
}
}

在上面,getUsername 函数调用了 getUserId 函数。由于该函数被调用,因此它必须在调用它的函数之上,否则它将无法运行。

我想知道的是,在面向对象编程中,类中函数(方法)的顺序是否重要?即使被调用的方法在脚本中进一步定义,我是否可以在另一个方法中调用一个方法?

最佳答案

函数的顺序无关紧要,原因如下:

  1. 这些方法不会在编译时执行,因此编译器可以“预见”可能还不存在的函数。 (注意:这是过于简单化了……)
  2. PHP 是一种动态语言,因为函数甚至不必在编译时 就存在。它们可以在运行时动态加载。
  3. PHP 通过名称加载方法,因此它将在运行时寻找与名称匹配的方法。

第三种情况的例子是:

$object = new MyObject();
$method = 'my_method';
echo $object->${my_method}();

这将调用对象 $object 上的方法 my_method,如果它存在,它是 MyObject 类的一个实例。 (如果该方法不存在,它将抛出运行时异常。)

关于php - 在面向对象的 PHP 中使用函数之前是否需要定义它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7073801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com