PHP: статический вариант магического метода __toString ()?

Я хотел бы использовать PHP __toString() метод в статической манере, вот так:

class MyClass {
public static function __toString() {
echo 'Hello, I am MyClass!';
}
}

echo (string) MyClass;

К сожалению, хотя __toString() не может быть статическим методом. Было бы здорово, если бы это было возможно, поэтому мой вопрос: Это что-то разумное, чтобы предложить в качестве запроса функции для разработчиков PHP? Если нет, то как мы можем достичь такого рода функциональности настолько близко к тому, что мой пример описывает как реально возможный?

0

Решение

Ты можешь написать:

echo MyClass::class;

Или если вам нужно больше контроля:

class MyClass
{
public static function getClass()
{
return get_class();
}
}

echo MyClass::getClass();

Если вы хотите иметь свойство статического класса, вы можете использовать это:

class MyClass {
static $name = self::class;
}

echo MyClass::$name;

Смотрите также этот ответ.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]