如何动态访问另一个类的静态属性和静态常量

ssp辛格

这是我的PHP示例代码,我想动态访问另一个类的静态属性,基本上我有一个存储在变量中的类名。

# Main Class
class HelloAction
{
    const FIRST = "DEMO";
    public static $first = "WORLD";
    function __construct($confclassname)
    {
        $this->config = $confclassname;
        # PHP Interpreter throws an Error for These Two Lines
        $this->first1 = $this->config::$a;
        $this->first2 = $this->config::$b;
    }

    function setFirst($s)
    {
        self::$first = $s;
    }
}

# Configuration Class
# Can hold only static or constants values
class action1
{
    const AAAA = "____Hello World____";
    public static $a = "this is an apple";
    public static $b = "That is an Dog";
    function __construct()
    {
        $this->second = "hi, there.";
    }
}

# Configuration Class
# Can hold only static or constants values
class action2
{
    const AAAA = "___Yeah, Hello World____";
    public static $a = "Whare You were...";
    public static $b = "Awesome work";
    function __construct()
    {

    }
    public static function action21($s)
    {
        self::$a = $s;
    }
    public function action22()
    {
        return self::$a;
    }
}

# We want to inject configuration Object into Main Class Object
$b1 = new HelloAction('action1');
$b2 = new HelloAction('action2');

echo $b1->first1 . "\n";
echo $b1->first2 . "\n";

错误:解析错误:语法错误,第11行的F:\ xampp \ htdocs \ 6-project-n_demos \ 011.php中出现意外的'::'(T_PAAMAYIM_NEKUDOTAYIM)

mega6382

注释行1112然后尝试执行操作var_dump this->config,您将看到它不是在选择整个对象,而是__construct因为您是在对象上调用静态方法,因此请尝试以下代码

        class HelloAction
        {
            const FIRST = "DEMO";
            public static $first = "WORLD";
            function __construct($confclassname)
            {
                $this->config = $confclassname;
                # PHP Interpreter throws an Error for These Two Lines
                $this->first1 = $confclassname::$a;
                $this->first2 = $confclassname::$b;
            }

            function setFirst($s)
            {
                self::$first = $s;
            }
        }

        class action1
        {
            const AAAA = "____Hello World____";
            public static $a = "this is an apple";
            public static $b = "That is an Dog";
            function __construct()
            {
                $this->second = "hi, there.";
            }
        }

        class action2
        {
            const AAAA = "___Yeah, Hello World____";
            public static $a = "Whare You were...";
            public static $b = "Awesome work";
            function __construct()
            {

            }
            public static function action21($s)
            {
                self::$a = $s;
            }
            public function action22()
            {
                return self::$a;
            }
        }

        $b1 = new HelloAction('action1');
        $b2 = new HelloAction('action2');

        echo $b1->first1 . "\n";
        echo $b1->first2 . "\n";

        ?>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从另一个类访问静态变量

来自分类Dev

从另一个类访问静态变量

来自分类Dev

C#如何从另一个类访问静态类List <>

来自分类Dev

如何访问本身是另一个对象的属性的对象的静态属性?

来自分类Dev

如何访问本身是另一个对象的属性的对象的静态属性?

来自分类Dev

为什么我可以定义一个静态常量,该静态常量依赖于同一类型的另一个静态常量,而不是属性?

来自分类Dev

如何访问在属于另一个类的静态对象中创建的列表?

来自分类Dev

如何在另一个类的静态成员函数中访问私有静态变量?

来自分类Dev

如何从另一个类的静态方法更改静态变量的值

来自分类Dev

如何从另一个类的静态方法更改静态变量的值

来自分类Dev

一个非静态类如何调用另一个非静态类的方法?

来自分类Dev

如何访问并获取另一个类的属性?

来自分类Dev

从另一个线程初始化同一类的静态字段时访问静态方法

来自分类Dev

在另一个类(OOP)中访问没有静态引用的数组

来自分类Dev

从静态方法访问另一个类的实例变量

来自分类Dev

访问另一个java文件中的静态类

来自分类Dev

尝试从另一个线程访问静态 ConcurrentDictionary

来自分类Dev

python从另一个类访问常量

来自分类Dev

在php中的另一个类中调用静态属性

来自分类Dev

从另一个Java类调用静态方法

来自分类Dev

另一个类中的静态方法

来自分类Dev

从另一个类调用静态数组

来自分类Dev

另一个类中的静态方法

来自分类Dev

从另一个类更新静态变量

来自分类Dev

我如何绑定使用另一个静态属性的属性

来自分类Dev

PHP:获取调用另一个静态类的静态方法的类名

来自分类Dev

PHP:是否可以从另一个静态类调用静态类方法?

来自分类Dev

Java-如何从另一个线程访问静态同步方法?

来自分类Dev

如何在另一个类中设置静态变量?

Related 相关文章

  1. 1

    从另一个类访问静态变量

  2. 2

    从另一个类访问静态变量

  3. 3

    C#如何从另一个类访问静态类List <>

  4. 4

    如何访问本身是另一个对象的属性的对象的静态属性?

  5. 5

    如何访问本身是另一个对象的属性的对象的静态属性?

  6. 6

    为什么我可以定义一个静态常量,该静态常量依赖于同一类型的另一个静态常量,而不是属性?

  7. 7

    如何访问在属于另一个类的静态对象中创建的列表?

  8. 8

    如何在另一个类的静态成员函数中访问私有静态变量?

  9. 9

    如何从另一个类的静态方法更改静态变量的值

  10. 10

    如何从另一个类的静态方法更改静态变量的值

  11. 11

    一个非静态类如何调用另一个非静态类的方法?

  12. 12

    如何访问并获取另一个类的属性?

  13. 13

    从另一个线程初始化同一类的静态字段时访问静态方法

  14. 14

    在另一个类(OOP)中访问没有静态引用的数组

  15. 15

    从静态方法访问另一个类的实例变量

  16. 16

    访问另一个java文件中的静态类

  17. 17

    尝试从另一个线程访问静态 ConcurrentDictionary

  18. 18

    python从另一个类访问常量

  19. 19

    在php中的另一个类中调用静态属性

  20. 20

    从另一个Java类调用静态方法

  21. 21

    另一个类中的静态方法

  22. 22

    从另一个类调用静态数组

  23. 23

    另一个类中的静态方法

  24. 24

    从另一个类更新静态变量

  25. 25

    我如何绑定使用另一个静态属性的属性

  26. 26

    PHP:获取调用另一个静态类的静态方法的类名

  27. 27

    PHP:是否可以从另一个静态类调用静态类方法?

  28. 28

    Java-如何从另一个线程访问静态同步方法?

  29. 29

    如何在另一个类中设置静态变量?

热门标签

归档