gpt4 book ai didi

php - 类中的 require_once()

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:33:45 25 4
gpt4 key购买 nike

我注意到,如果我在类方法中声明一个与外部函数同名的函数,我会得到一个错误:

function a(){
...
}

class foo{
public function init(){
function a(){ // <- error
...
}
...
}

}

然而这会起作用:

function a(){
...
}

class foo{
public static function a(){
...
}
}

我可以使用 require_once 或类似的东西包含一组充当此类的静态方法的函数吗?

require_once('file.php');class foo{ 之后不起作用...

最佳答案

PHP 允许在其他函数中嵌套函数声明,但它实际上并没有嵌套函数。它们总是在全局范围内结束。因此,您在 init 方法中定义的 a() 与已定义的 function a() 发生冲突。

静态函数 a() 与类命名空间相关联,即使它的行为更像一个函数,而不是一个方法。

在类定义中调用 require_once 语句是不可能的。 PHP 语法不允许这样做。类定义是特殊的范围/语言结构,只允许在直接解析级别内声明函数或变量。 - 所以 PHP 不允许这样做(类及其方法必须立即声明,而不是组装),并且对于您想要的东西没有真正好的或可取的解决方法。

关于php - 类中的 require_once(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6005515/

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