А если предположить, что ошибок не будет, то все верно?
try{
$this->db->beginTransaction();
$this->db->exec("DELETE......... WHERE id = 123");
sleep(300);// спим 5 минут. В течении этих 5 минут, запись с id 123 будет доступна всем и везде.
$this->db->commit(); // а вот после этой операции - не будет.
return true;
}catch (\PDOException $e){
$this->db->rollBack();
trigger_error($e->getMessage());
return false;
}
<транзакция>
- удаляем чтото
== тут заходит юзер, и ему доступна запись которая была удалена. Запись присутствует в базе данных. Блокировки на select никакой нет.
- делаем чтото еще
== и тут по прежнему запись доступна.
-- commit или --rollback
</транзакция>
== тут заходит юзер, и ему уже НЕ доступна запись.
При изменение на !empty параметры с пустыми значениями тоже выводятся
<?php echo apply_filters( 'opalestate_'.$key.'_unit_format', trim($info['value']) ); ?>
В php нет функции array_filters