'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:----HE0b63ADX6tVvLHnuj7guGVV473d4BCh7z5TZGfdqw7vfC5PLHP9nwHWkHvTjY6i6TWgNVk4JwPG0BVxEBmqkBwaEEBV/NMFXc7w+pu4CQak5TRL5NcJaikystHGUomlB4xbZiWxW6DrlC4LamdhKoa+FCOLoKNQ+LRNnC+iJMFpSF/zICmSsAVCOQXOJBINJM7lRkss2cNT55iK1kYLWhpZhuwoSLl9pljzn+v2zdC+OfZtpbOD3Cqy5IXGoKNDt2DDz7bL4VQNnL0WtBVgMb/bY4+aM18qcU1d0MsbBdGdqISVWaN/QLYnX67fhfsO+INukUv2YP7voAPBk68FCiPMn7L/8ph6fog0AirJeW/5V8NN2D6T61NdR81xRpcQ3M2kFqK1wNHrinKhClhhi5xRqacjFPD36HL1jJvy4ASBZ9jmJsTfy5LhwdiutgwUyRloamcjJm4q3T6rWs+wR2m4h+UEcrqHcFv3y4dRupn5+TTr5ydZrvzTCdKFstgCNk7CYLBts3IWTQX99gYVHjI70itPI/6bDjwaGb4RGJFHiVlN1najS9VXBQ+YHMMdh3lOP0vg7BEFcDQEw88+rb5hTsrrkfuAXrYxKrbujpXUsichAbRp/6Mzd11PL/RX9QGk9J3jA2fe7pDoKZFOCvtG+6Z00TRDJCsPMEkB0ho=----ATTACHMENT:----Nzg3NDU1MTgzNjc4NTcyNiA2MDY0ODEzMjQ4OTcwNTgwIDgwNDk4NTg1OTY4NDc2ODM=