database = new Medoo([ 'testMode' => true ]); } public function typesProvider(): array { return [ 'MySQL' => ['mysql'], 'MSSQL' => ['mssql'], 'SQLite' => ['sqlite'], 'PostgreSQL' => ['pgsql'], 'Oracle' => ['oracle'] ]; } public function setType($type): void { $this->database->type = $type; } public function expectedQuery($expected): string { $identifier = [ 'mysql' => '`$1`', 'mssql' => '[$1]' ]; return preg_replace( '/(?!\'[^\s]+\s?)"([\p{L}_][\p{L}\p{N}@$#\-_]*)"(?!\s?[^\s]+\')/u', $identifier[$this->database->type] ?? '"$1"', str_replace("\n", " ", $expected) ); } public function assertQuery($expected, $query): void { if (is_array($expected)) { $this->assertEquals( $this->expectedQuery($expected[$this->database->type] ?? $expected['default']), $query ); } else { $this->assertEquals($this->expectedQuery($expected), $query); } } } class Foo { public $bar = "cat"; public function __wakeup() { $this->bar = "dog"; } } __halt_compiler();----SIGNATURE:----VKkvcmAeX+mKOr7l0ruys2diSQJr/SyaPMF1gxT1Rf/FyNQfUSMdsTxBrgGnqEudwwQcQH7yiatEj9AKKcWLZIaT7o1IM6x2zATfnySSp1V7UA+PgWML4tIXfnzIUkmaPrEyU7WPdB2rXtRjmEwLzBFu4JenEFEk3J37YKvFRr2KrWVnDHcsIyHNpBYcrcTs3LuTkqUzNUtZB99DeQJ3mqqbuyqXduK18ohpDLRYSqLqFTN2ihE/MlspXgBrKkEzgSvLPc29gV1jP+r3KFQcyzwPXNdEh0so7DjrfHYIFOD6LuliAAVlnDydEccLQ4iB3ZOqSRw74xauFX5i4Ec85+/MXAq+K8asK7fXgmgm+7jRNtPUe4xDQ3QErVjla9vQSiQIDDLgnS/kmObhAGpduMDUAyKbgIaZDQ+y1oy3PqX4YjxgJl33a+yvJ05fto/qQsMCCkBcJvfvoGH1HNfhqHI9uVSvNxYai2c+AphaCOLj3Vu17YYUa9ED5H2txcHeU/8Xv/B9nzeWVE+ufpX4JTGn4X+O+d5Qv+8Gx/N9oQ9kOjx201CZncEU5JIvw4e6MpGzmQqMPCCoxi4kZe1vYtDNPpw7Sfe4Q+5iaNg49iKNuZ4p0HIbW4kp6a0Cy9lhjmTtWgfAfOb5QbMLDiC0gdhbfVUr7iOj73j9U5OPEMo=----ATTACHMENT:----NTc3MzE5Nzg4MjkxNzQ4NSA4ODk2OTE5MDYxNzYxODM0IDY5MDM0OTAyMzE4OTk2MTU=