OpCodeCache.php

Same filename in other branches
  1. 8.9.x core/lib/Drupal/Component/Utility/OpCodeCache.php
  2. 10 core/lib/Drupal/Component/Utility/OpCodeCache.php
  3. 11.x core/lib/Drupal/Component/Utility/OpCodeCache.php

Namespace

Drupal\Component\Utility

File

core/lib/Drupal/Component/Utility/OpCodeCache.php

View source
<?php

namespace Drupal\Component\Utility;


/**
 * Provides helpers to handle PHP opcode caches.
 *
 * @ingroup utility
 */
class OpCodeCache {
    
    /**
     * Checks if OpCodeCache is enabled.
     *
     * @return bool
     *   TRUE if opcache is enabled, FALSE otherwise.
     */
    public static function isEnabled() {
        return extension_loaded('Zend OPcache') && ini_get('opcache.enable');
    }
    
    /**
     * Invalidates a PHP file from a possibly active opcode cache.
     *
     * In case the opcode cache does not support to invalidate an individual file,
     * the entire cache will be flushed.
     *
     * @param string $pathname
     *   The absolute pathname of the PHP file to invalidate.
     */
    public static function invalidate($pathname) {
        clearstatcache(TRUE, $pathname);
        // Check if the Zend OPcache is enabled and if so invalidate the file.
        if (function_exists('opcache_invalidate')) {
            opcache_invalidate($pathname, TRUE);
        }
    }

}

Classes

Title Deprecated Summary
OpCodeCache Provides helpers to handle PHP opcode caches.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.