public static function Settings::getApcuPrefix

public static Settings::getApcuPrefix($identifier, $root, $site_path = '')

Generates a prefix for APCu user cache keys.

A standardized prefix is useful to allow visual inspection of an APCu user cache. By default, this method will produce a unique prefix per site using the hash salt. If the setting 'apcu_ensure_unique_prefix' is set to FALSE then if the caller does not provide a $site_path only the Drupal root will be used. This allows WebTestBase to use the same prefix ensuring that the number of APCu items created during a full test run is kept to a minimum. Additionally, if a multi site implementation does not use site specific module directories setting apcu_ensure_unique_prefix would allow the sites to share APCu cache items.

Parameters

$identifier: An identifier for the prefix. For example, 'class_loader' or 'cache_backend'.

Return value

string The prefix for APCu user cache keys.

File

core/lib/Drupal/Core/Site/Settings.php, line 166

Class

Settings
Read only settings that are initialized with the class.

Namespace

Drupal\Core\Site

Code

public static function getApcuPrefix($identifier, $root, $site_path = '') {
  if (static::get('apcu_ensure_unique_prefix', TRUE)) {
    return 'drupal.' . $identifier . '.' . \Drupal::VERSION . '.' . static::get('deployment_identifier') . '.' . hash_hmac('sha256', $identifier, static::get('hash_salt') . '.' . $root . '/' . $site_path);
  }
  return 'drupal.' . $identifier . '.' . \Drupal::VERSION . '.' . static::get('deployment_identifier') . '.' . Crypt::hashBase64($root . '/' . $site_path);
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Site!Settings.php/function/Settings::getApcuPrefix/8.1.x