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:----nTMDHI6yTvXiWnr/EbX6fpb5K03I9Ag2DEfTF+KKRH53Drjqfw8Gn2VrwyVCb6Sl+WRTeurhfXB25YTphEsTakTgaaH2hzrWcxCT5rz9Fpl8spbCy1dXrXYedm6WwGxNzGDzZEknBKpvvLeXgvZtIs3yWQHeR7YGRTmSklRJK+lS44faErqGAjevtsL52lm6FQeJAwEqzT3/1g1PTNnCD+phN3uH+MZze42+y6eawoGd2bDg0w+3gdnpbzxGawwpg7uCxH0pg3dFst+2SEtuGLSkZgPwcO4wmA195hoUMdKYWKErsOZ25McYkcxMJ4QZcwB22+kR8uNaJa+B/SHbFDX6RCezzVlX7Bf0U6kj4C4vQ1kImUrg+EcJVJ27QjJv/LHyEBbrOt8FPvB7cqJTGCHK/kWgCygIOwwWCOslnufQF56U6lXcf6JXBWdcdNHHteAt3XP/8m8ohGzIYNct2G5NWtYL2eqc1ltCghuDK7iW8qwMw+Sgc5peORhjHkzby9JbvDixhAgmwO3Lt+IGlTGt80BuVOrkTqIf2D7hY26C6QBj4XcqJap9G3DWZrYEGNu8R20Ix/50wbAyTkforTnVqL0WBCxcHpUUju70XU56mcffcIdV/HpQNVisqNe7DNXt4LlHYsjOp5vu1PxPlmromcUnmLdG/8bI+tSGEs0=----ATTACHMENT:----Njk2NzUwMTg3OTk1ODc3OCA2NjMxOTU4NTc3NTMyODg1IDkwNDgzMTc4MzQ0OTMwMDE=