gpt4 book ai didi

php - 静态调用方法时如何访问私有(private)类变量?

转载 作者:行者123 更新时间:2023-12-04 05:40:37 25 4
gpt4 key购买 nike

如果我有:

<?php
class SomeClass extends SomeOtherClass{
private $access_code = 'TX9999';

private static function SomeMethod(){

}
}

?>


<?
self::SomeMethod();
?>

如何正确访问 $access_code::SomeMethod()
更多信息

我实际面临的更复杂。

我有一个类,其方法是并且必须保持静态。
我知道如何使用 self 调用其他方法。

然而,在类里面,我有一些通常作为常量和变量有意义的东西。

我意识到我没有以正常方式获得实例,并且正在寻找在类的一些静态方法之间共享变量,有些是易失的,有些是固定的

最佳答案

这会做你想做的;在能够访问私有(private)实例变量 $access_code 之前,它首先创建自己的实例.

$o = new self;
echo $o->access_code;

如果你想要一个类变量而不是实例变量,你必须声明 $access_code像这样:
private static $access_code = 'TX9999';

然后像这样从静态方法调用它:
private static function SomeMethod()
{
echo self::$access_code;
}

顺便说一句,您不能调用 ::SomeMethod()从课外。为此,您需要将其设为 public :
public static function SomeMethod() { ... }

关于php - 静态调用方法时如何访问私有(private)类变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11295414/

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