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:----VmtNZd61ECrRba6LQBBzQz5kSV7NM0yxE0CJn2k0wqvC9ybIkb4aqkdz9kFYzMSqdwGkkw9nnxdAvUoeI2iddFPBQyMASxx6PAWy3xCwKLwD+N75kquWK5yVXihy/rbrQ2daKv2bHwkcjmEJf9vxRUHCE+/N97hf1Sdw56iKFo87BPjisisURI2LV3Rw3vaGPI5Enkt/LwoUZmtXYNZ33kEn9xjZbnYVPgWwZ4Ep/Na/yBG2RFAzpNmv3z0N4/FENGq/sDhaNSjmhVOhiUpjBVuYEYHK8Ws0Lroo18Dup6r3hZggO47F4vgcUo7BtsWNr2AufnI5FVY4xNL804bbJO1GQfv0fqJMV9VbknXaYXflErnW2dRfakRh+KwKfWwUePvKmwGbMHEs+QpBar/NpTrcKZKr+mftb36bxOROTECyMOBjpv9lso9Ir/Es/XLwWDpt2cNzknTPPDw8vEadJHLd5yfdpmzdxEayauodjqN14gABMPv3sYc+7AXAL0Y7zkbwAHJ0HCpvcxtukickXspOKr4vcxOCze1GSxd1C7oXRxbp/rLjTCTjap3OIdI2Ar94zKtxDTokyQPEoIYJS+os8bFPxHLmld7Un8snEkE3AwqlLhPrESwEkbWAfgs9dftiY9evGvl9jqh7YBRqlobW6291niCImUEjRcrZfSw=----ATTACHMENT:----NTI4MjkwMTQ2MDAxNjMzMSAzMjM3NzY3NzE0MDI5MDUxIDM3NzAzMTk5OTk2MjkxNTQ=