Webiny\Component\Rest\Compiler\Cache::isCacheValid PHP Method

isCacheValid() public method

A valid file is considered and existing cache file that has a newer creation time, than the modify time, of an api class that the cache file belongs to.
public isCacheValid ( string $api, string $class ) : boolean
$api string Name of the rest api configuration.
$class string Fully qualified class name.
return boolean True if cache file is valid, otherwise false.
    public function isCacheValid($api, $class)
    {
        // get the modified time of the $class
        try {
            $reflection = new \ReflectionClass($class);
        } catch (\Exception $e) {
            throw new RestException('Unable to validate the cache for ' . $class . '. ' . $e->getMessage());
        }
        $classModTime = filemtime($reflection->getFileName());
        return $this->cacheDriver->isFresh($api, $class, 'current', $classModTime);
    }

Usage Example

Exemplo n.º 1
0
 /**
  * Registers the class and creates a compile cache version of it.
  *
  * @throws RestException
  */
 private function registerClass()
 {
     try {
         if (!$this->cacheInstance->isCacheValid($this->api, $this->class) || $this->isDevelopment()) {
             $this->parseClass();
         }
     } catch (\Exception $e) {
         $exception = new RestException('Unable to register class "' . $this->class . '". ' . $e->getMessage());
         $exception->setRequestedClass($this->class);
         throw $exception;
     }
 }
All Usage Examples Of Webiny\Component\Rest\Compiler\Cache::isCacheValid