У меня есть класс php с некоторыми константами класса, которые указывают на состояние экземпляра.
Когда я использую класс, после того, как я запускаю на нем несколько методов, я делаю некоторые проверки, чтобы убедиться, что статус соответствует ожидаемому.
Например, после вызова некоторых методов я ожидаю, что статус будет MEANINGFUL_STATUS_NAME
.
$objInstance->method1();
$objInstance->method2();
if ( $objInstance->status !== class::MEANINGFUL_STATUS_NAME ) {
throw new Exception("Status is wrong, should not be " . class::MEANINGFUL_STATUS_NAME . ".");
}
Однако, это дает мне сообщение об исключении
"Status is wrong, should not be 2"
когда я действительно хочу увидеть
"Status is wrong, should not be MEANINGFUL_STATUS_NAME"
Так что я потерял смысл имени константы. Я думал о создании массива «таблица перевода», чтобы я мог взять постоянные значения и перевести их обратно в их имя, но это кажется громоздким. Как мне перевести это обратно, чтобы я получил сообщение об ошибке, которое дает мне лучшее представление о том, что пошло не так?