private function cacheSphringBean() { $origFile = new File($this->sphring->getYamlarh()->getFilename()); $cacheFileBean = new File(sys_get_temp_dir() . DIRECTORY_SEPARATOR . SphringCacheEnum::CACHE_FOLDER . DIRECTORY_SEPARATOR . sprintf(SphringCacheEnum::CACHE_FILE_BEAN, $origFile->getHash('md5'))); if (!$this->cacheManager->isCacheSphringBean()) { if ($cacheFileBean->isFile()) { $cacheFileBean->remove(); } return; } $origFile = new File($this->sphring->getYamlarh()->getFilename()); if ($cacheFileBean->isFile() && $origFile->getTime() == $cacheFileBean->getTime()) { return; } $beans = $this->sphring->getBeansObject(); $origFile = $this->sphring->getYamlarh()->getFilename(); $time = $this->getTime(); touch($origFile, $time); $cacheFileBean->setContent(serialize($beans)); touch($cacheFileBean->absolute(), $time); }
private function loadBeansFromCache() { $origFile = new File($this->getSphring()->getYamlarh()->getFilename()); $this->cacheFileContext = new File(sys_get_temp_dir() . DIRECTORY_SEPARATOR . SphringCacheEnum::CACHE_FOLDER . DIRECTORY_SEPARATOR . sprintf(SphringCacheEnum::CACHE_FILE_BEAN, $origFile->getHash('md5'))); if (!$this->cacheFileContext->isFile()) { return; } $origFile = new File($this->getSphring()->getYamlarh()->getFilename()); if ($origFile->getTime() != $this->cacheFileContext->getTime()) { return; } $beans = unserialize($this->cacheFileContext->getContent()); $this->getSphring()->setBeansObject($beans); $proxies = []; //fast table writing $key = array_keys($beans); $size = sizeOf($key); for ($i = 0; $i < $size; $i++) { $bean = $beans[$key[$i]]; $proxies[$bean->getId()] = $bean->getObject(); } $this->getSphring()->setProxyBeans($proxies); }