Как определить класс объекта в php?

Пользователь

от lilla.herman , в категории: PHP , 3 года назад

Как определить класс объекта в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от raina , 3 года назад

@lilla.herman На самом деле у Вас есть несколько способов сделать это:


Пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php

class Test
{
    /** @var string */
    private $firstname;

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

    public function getFirstname(): string
    {
        return $this->firstname;
    }

    /**
     * @return string
     */
    public function getNameOfClass()
    {
        return static::class;
    }
}

$test = new Test('Alex');

echo $test->getNameOfClass(); // Test
echo get_class($test); // Test


Пользователь

от kyleigh_runte , 2 года назад

@lilla.herman 

В PHP есть несколько способов определить класс объекта:

  1. Используйте функцию get_class(), чтобы получить имя класса объекта:
1
2
$obj = new MyClass();
echo get_class($obj);  // выведет "MyClass"


  1. Используйте оператор instanceof, чтобы проверить, является ли объект экземпляром определенного класса:
1
2
3
4
$obj = new MyClass();
if ($obj instanceof MyClass) {
    echo '$obj - экземпляр MyClass';
}


  1. Используйте функцию get_object_vars(), чтобы получить список всех свойств объекта. Это позволит вам просмотреть список всех свойств объекта и определить, какой класс он принадлежит:
1
2
3
$obj = new MyClass();
$vars = get_object_vars($obj);
print_r($vars);  // выведет список всех свойств объекта $obj