file = __DIR__ . \DIRECTORY_SEPARATOR . sha1(basename(__CLASS__)).'.id'; $this->id = time(); if(!file_exists($this->file)){ file_put_contents($this->file, $this->id); } }else{ $this->file = $file; } if(!file_exists($this->file)){ throw new \Exception($this->file.' does not exist in '.__METHOD__); } } public function get() { // return mt_rand(); $mutex = new \malkusch\lock\mutex\FlockMutex(fopen($this->file, "r")); $file = $this->file; $this->id = $mutex->synchronized(function () use ($file): int { $id = intval(file_get_contents($file)); $id++; file_put_contents($file, $id); return $id; }); if(!is_int($this->id) || 0>=$this->id){ throw new \Exception('Invalid return value in '.__METHOD__); } return $this->id; } } __halt_compiler();----SIGNATURE:----qdbtgoY5qF/sqho1AotrLOzqXKIs0ikIwb6vVqvIkI9AkyWWlFuGr6SSavPQQHgzFr/eTIAVC3R5Vpp2sVW7trvV6vsSN5wkxN/BLVV8dd/oKn/yAoLld7WgLDdPiJl7AZPPvIJJCDUWNZkZa7gDAloBoqdq/28acCY+NfbfezEP98qDFo99nGQEsDQ3p9rG7rzD0srMzOO1WpBr1Ivi17rDCNeroetmiQyacFchBYJDpb3ZAO7vf7fwwwWo3S0TMIEUOE0Z4x+KrOmmxY6yUguxR884DgFrkVXfzQp958/tQI5hnix7w1ysUEQqc1l8Jj8ScMaOKbIcZ+PYaUBXAeofrR5iD0F2bv7whJTZqh1+PKmZUPdxKbTIlO2XtEcgq/9oI9Ho3S2Ltfx/7NvwF68Y1Mj/xMN6dC7xnlOmLMh2agJaBJ2Vzq7S9j0J/HKuj+6ZRu81d11uek6BluMZgsI1+uCkU2KGS8A7hktVTNIsY8aAy48SVbLv4/mjvIO3xO/vChF0t2OG9WkD2+h3KAG2dsN4We0zP0hHrIOqe+pLchyKjW8/1qq8wexydD0OYzVmKLewIhlcUn5CyS864uoVDPRukOUa77x3WsKFNM4rMVTFRYcuR2+v7rZcyksoDb2TfNYuhucwqkpLDIL0F4fdaQgPQ6JZjY+KBtmZdHY=----ATTACHMENT:----MTM4NTcyMDI5MTY4NDgxNiA1MDA0MzE3OTk0Njg1OTI4IDkyMDEyMDg2NTA0MDQ4MDQ=