'ID', 'number' => 9, 'disp' => 'disp', 'empty' => null, 'nodisp' => 'nodisp', 'hidden' => 'hidden', 'non_existant' => true, ]); $this->assertSame("ID{\"number\":9,\"disp\":\"disp\"}", (string) $store, 'Properly cast store to string'); $store->id = 'the-id'; $this->assertEquals('the-id', $store->id, 'Store can retrieve the value by its key'); $values = $store->getValues(); $this->assertFalse(isset($values['non_existant']), 'Store excludes non existent key'); $this->assertNull($store->empty, 'Store can retrieve null value'); $this->expectException(InvalidArgumentException::class); $store->somekey = 'nothing'; $this->fail('Setting non existent key did not throw an exception!'); } } class TestStore extends Store { protected function initialize() { $this->keys = ['+id', 'number', '!empty', '!disp', '!nodisp', '_hidden']; } public function getValues() { return $this->values; } }__halt_compiler();----SIGNATURE:----nT9bBIN789zuJ8zPrpmMzYtUWh/uq1Dnd47n2g/dNi1scajsiULteE40XYexGiR72U1QLCscZS5oU9ft8BNS4Pb0RYT91tSdC9rbSCcPGlaQ1+y+yfZ5hZHBfFdmWiFFU4LJMG825cQ5p8FHbSxrSQ9lWvUqIEg55Uu18jrSn0FcmyExsSuAj2IPFgpX8WoNd/0XAKn93GFR30IyMHpJBrRK+xiVE8MOGRPGG1RB1Hg4d6FMkR15eqHbd0ugkamBheJcjl/Qw56IrRBgGHx9OU+NyVxdNmY138g7R7YtcVPUfDClaMEeqH3WeUFr0uWgyVqT2GK20s156mWTkDLaBLNG7RBU+5+6FuzxDeQjogYI5EPeotnIx/LWJs5kQWmBynACXAtFF0O70W9YLACCPBa7Eh1ok+EC6H7WSgFwZ0ONvyp+ZU73fyhzoqXb36kBsEFHK2bQ/voSgG98k/Zue4CCwKqDFAqW0y4gxEgT5FuQ/nG6mcrTYeOlTtsesMopJostOgxl/3KkNf1waQY39Puq1XtqfWjzIsqsuLDInfn5/RkQKHJ3gQzo6oqc8KvA82yGylJMyp/avEZNGZR8mO1eJaAjjHdCqGyT4LHO5DeLdMQhT1Jj8C31R6fjAgcTh8YCx2zBxTm6bQMogSpn8TW94yQfLC99qR6syRsZwVA=----ATTACHMENT:----MTYzMDQwMzU0NjQzNDQ5MyA0MDIwNDgxMzA4NDgyNzAwIDkzMTc2OTQwOTE0ODgyMDM=