Я хотел бы получить дочерний класс в конструкции родительского класса. Дело в том, что я нашел несколько методов PHP здесь в SO и не знаю, какой из них использовать, какой из них быстрее?PHP Получить дочернее имя класса из различий родительского класса
class Parent {
function __construct() {
echo static::class; // Method 1 (PHP 5.5+)
echo get_called_class(); // Method 2 (PHP 5.3+)
echo get_class($this); // Method 3 (PHP 5.2+)
}
}
class Child extends Parent {
function __construct() {
parent::__construct();
}
}
Все эхо записи одинакового результата: Child
. Но почему существует 3 разных метода для такого же результата? Какой из них лучше или более оптимизирован?
Почему бы вам не запустить некоторые тесты производительности, чтобы их увидеть? –
Вопрос нет ** только ** о качестве, но также почему есть 3 метода для одного и того же результата, если есть другая разница. – Carlos2W
'get_class ($ this)' можно вызывать передачу в экземплярах любого объекта, включая (но не ограничиваясь) '$ this'; например $ x = new DateTime(); echo get_class ($ x); '; поэтому 'get_class()' является очень общей функцией, которая использует другие функции. –