Я хотел бы использовать PHP __toString()
метод в статической манере, вот так:
class MyClass {
public static function __toString() {
echo 'Hello, I am MyClass!';
}
}
echo (string) MyClass;
К сожалению, хотя __toString()
не может быть статическим методом. Было бы здорово, если бы это было возможно, поэтому мой вопрос: Это что-то разумное, чтобы предложить в качестве запроса функции для разработчиков PHP? Если нет, то как мы можем достичь такого рода функциональности настолько близко к тому, что мой пример описывает как реально возможный?
Ты можешь написать:
echo MyClass::class;
Или если вам нужно больше контроля:
class MyClass
{
public static function getClass()
{
return get_class();
}
}
echo MyClass::getClass();
Если вы хотите иметь свойство статического класса, вы можете использовать это:
class MyClass {
static $name = self::class;
}
echo MyClass::$name;
Смотрите также этот ответ.
Других решений пока нет …