gpt4 book ai didi

php - 类变量的作用域解析运算符

转载 作者:搜寻专家 更新时间:2023-10-31 20:47:54 25 4
gpt4 key购买 nike

我很好奇为什么在类变量上使用范围解析运算符会导致致命的 php 错误,以及是否有解决方法。

例如:

<?php
class StaticTest
{
public static function output()
{
echo "Output called<br />";
}
}
Class Test
{
public $reference;

public function __construct()
{
$this -> reference = new StaticTest;
}

}

$static_test = new StaticTest;
$static_test::output(); //works as intended

$test = new Test;
$test -> reference::output(); //Unexpcted T_PAAMAYIM_NEKUDOTAYIM

$direct_reference = $test -> reference;
$direct_reference::output(); //works, closest solution i have found, but requires the extra line of code / variable
?>

最佳答案

如果您只关心代码的行数和额外的变量,那么您可以在一行中完成,而无需创建任何变量:

call_user_func(array(get_class($test->reference), 'output'));

我认为,这等同于:

$direct_reference = $test->reference;
$direct_reference::output();

关于php - 类变量的作用域解析运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11278047/

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