Вызовите метод по имени, используя значение атрибута в качестве имени метода php - PullRequest
0 голосов
/ 05 ноября 2018

Во-первых, вот пример кода, который работает:

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

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

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

Теперь мой вопрос: возможно ли напрямую использовать имя artribute класса Foo для вызова метода test, не создавая новую переменную, подобную этой:

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

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

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

Жду ваших ответов, Heeiiigou

1 Ответ

0 голосов
/ 05 ноября 2018

Оберните это {} примерно так:

function __construct() {
    $this->{$this->name}();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...