Какой самый быстрый способ сравнить два объекта в PHP?

Допустим, у меня есть объект - в данном случае объект User - и я хотел бы иметь возможность отслеживать изменения с помощью отдельного класса. Объект User не должен каким-либо образом изменять свое поведение, чтобы это произошло.

Поэтому мой отдельный класс создает его «чистую» копию, сохраняет его где-то локально, а затем позже может сравнить объект User с исходной версией, чтобы увидеть, изменилось ли что-нибудь в течение срока его службы.

Есть ли функция, шаблон или что-нибудь, что может быстро сравнить две версии объекта User?

Опция 1 Может быть, я мог бы сериализовать каждую версию и напрямую сравнить или хешировать и сравнивать?

Вариант 2 Может быть, я должен просто создать ReflectionClass, пройти через каждое из свойств класса и посмотреть, имеют ли две версии одинаковые значения свойств?

Вариант 3 Может быть, есть простая нативная функция вродеobjects_are_equal($object1,$object2);?

Какой самый быстрый способ сделать это?

Ответы на вопрос(4)

Ваш ответ на вопрос