繁体   English   中英

使用属性值作为方法名称php按名称调用方法

[英]Call method by name using an attribute value as methodname php

首先,这里是一个有效的代码示例:

<?php
class Foo
{
    private $name = "test";

    public function __construct()
    {
        $name = $this->name;
        $this->$name();
    }

    function test()
    {
        echo "test";
    }
}
$foo = new Foo();
?>

现在,我的问题是:是否可以直接使用类Foo的伪造名称来调用方法test而无需创建这样的新变量:

<?php
class Foo
{
    private $name = "test";

    public function __construct()
    {
        $this->$name();
    }

    function test()
    {
        echo "test";
    }
}
$foo = new Foo();
?>

期待您的答案,黑河沟

像这样将其包装在{}中:

function __construct() {
    $this->{$this->name}();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM