--TEST-- ndbm --INI-- psi.directory={PWD}:{PWD}/../../psi.d --SKIPIF-- --FILE-- ===TEST=== db = psi\dbm_open($file, $o, $m)) { throw new Exception(psi\strerror(psi\errno())); } } function __destruct() { psi\dbm_close($this->db); } function __set($k, $v) { return psi\dbm_store($this->db, [ "dptr" => $k, "dsize" => strlen($k) ], [ "dptr" => $v, "dsize" => strlen($v) ], psi\DBM_REPLACE); } function __get($k) { $val = psi\dbm_fetch($this->db, [ "dptr" => $k, "dsize" => strlen($k) ]); if ($val) { return $val["dptr"]; } } } $db = new db(); $db->key = "data"; var_dump($db->key); ?> ===DONE=== --CLEAN-- --EXPECT-- ===TEST=== string(4) "data" ===DONE===