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:----HzERNR6Vl0DHFsSo7LolBwg3uFToFSx+gOOSOmOm2KpMIDAmX6XN76/T+KNDNoHFfJjqjFpcWNKZaeFkkRJrYaXb1zGGP75Zywqyom93Go9cx33Aes9lEVDxsJv5RVPerMN1GCoL6xLqSdahsftM3AkrVH+fk2270v0vh1rYoqIc4v/dPiOhqy/znvALWYQpXVyIMf0AgaCR4juu4KR91/f9Cv6cPKEdbrCmLEv0KNPy2AIBn13/3UUTGhW8Yzbrv8Qq+a6K4uUP0xUYmj/9/0g4KHaX9+YhFTmERA1sdsad1A34/k8j7uqTBaY+UY7CG1Pu/0gUS37HjPH/4Mg9bJuLirADRi7EUrEBgSrxKcRC9vLDIjho5e3C/CLc+y7K1MaVNAjMFckX3ucmaVVVW+a8Xk/MCsN+0kSNFkzQSuofewITq2pDqgU7dmSjVcy8qrL4Zp0GKKSOReggaLHneLcYsLptnhsoMnMv+2RUY+nDjFv2a7BF8+xg7B7Rrq2kTsIvF4tUzpi9UmnvIK1c4ODIjQLJ4R7MsSSM7EMYJvkjJ47FRJKRoZvYooXNoSLGNEayDqeIcUlQ36C0Yy6VwZK3P2owdQIJRVlcTNZd+EzIdMR/DeMW0olgcRqtLZPD+wD0yH+INWqjSXLNg6TyzWM90XAJsENjnefJ+NnfC2I=----ATTACHMENT:----ODI3OTk5OTc2MDI3ODA3OCAzMzc0OTA5NTkzMDIyOTkgNjc3NzgwODA0OTE3OTM0OQ==