аргумент класса со стилем кодирования - PullRequest
0 голосов
/ 20 сентября 2019

У меня есть вопрос по поводу кода скрипта ниже:

ClassName::method("AnotherClassName@method");

Как вы создаете такой код?

И я хочу вернуть его, используя:

return $AnotherClassName->method();

1 Ответ

0 голосов
/ 20 сентября 2019

Ваш статический класс может быть просто псевдонимом (своего рода) для call_user_func () :

<?php
class ClassHelper
{
    public static function get($classmeth)
    {
        # Replace @ with :: as noted in the call_user_func() documentation
        return call_user_func(str_replace('@', '::', $classmeth));
    }
}

Так что по сути это:

$result = ClassHelper::get("AnotherClassName@someMethod");

этоэквивалент:

$Class  = new AnotherClassName();
$result = $Class->someMethod();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...