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:----c/cK/AuM2DCpHC1B+WMlqvPPSSvFFZhOe4BukzNmzm7Nd/T0ID6Q1hjaBBJZm76KWJE4kr8RZ+g5JSXWY6B5dDF8ZjbXyPHPbfT+r3Ch6Ot1r1bn5EbEIeJQi0LBLTI3Z+UZZwVGxc3oO0OAIXFUMNCpksfJVJXRH+cIZv2xblb7+cFJ+2kgtrn3JZ8Ntyy5WVLOYXx61p63B35Y60eBnnhH01p3jA34NaCvy6pTzuWe+bfjA0X7veJ2Lq9rzaGxaadzOW5tRGFK9tJs8BEHRf12cxzo6f4dtqqg2i+GXYikVGAVxa7r9DCvkRYiIgiDySpcPwm009IW9Z9YW0m4cWgXR8+OyFeEdaoC3x7S3BPZSrvldlgeC5d6+PeyARgWhu9YD9iC4UCaZhsecuOQ+zlfaOSjqvxBsWXBK+/wF7uB3593wIQI96kLv8CH38lPsWIVo7CqltR4H1FgAw8FCTF4PwfiKv1EyyqXeTQHnyCDShEr5zDrk+UHfdYTpBOJOTk74Vbyd8ROQBPgDVspqrXwRHQws5EQRjwlxx6M8UZKdfcxHENisIsui+lZ5hvLF3dXz1DjfqyJfD9vFHNFYXfyKDrK2iDmUYU2VU99ESF2BFbtwMu7YLjGPJkkUZ/A8TH0PqQB3RhbK/osVpiBW/0iy+grF+jJ5FAd/NNQ4RY=----ATTACHMENT:----NTczNjkwMTYyMDg1MjQ3OSAzNTY5NDA0ODI5MjkzNDg4IDEwNzA1Nzk1MDA4ODQ2MTU=