function composer_manager_static in Composer Manager 6
Same name and namespace in other branches
- 6.2 composer_manager.module \composer_manager_static()
See also
https://api.drupal.org/api/drupal/includes%21bootstrap.inc/function/drup...
6 calls to composer_manager_static()
- composer_manager_installed_packages in ./
composer_manager.admin.inc - Reads installed package versions from the composer.lock file.
- composer_manager_installed_packages_load in ./
composer_manager.admin.inc - Loads the composer.lock file if it exists.
- composer_manager_lockfile_load in ./
composer_manager.admin.inc - Loads the composer.lock file if it exists.
- composer_manager_required_packages in ./
composer_manager.admin.inc - Returns the packages, versions, and the modules that require them in the composer.json files contained in contributed modules.
- composer_manager_write_if_changed in ./
composer_manager.module - Writes the composer.json file if one of the enabled / disabled modules has a composer.json file.
File
- ./
composer_manager.module, line 227 - Provides consolidated management of third-party Composer-compatible packages required by contributed modules.
Code
function &composer_manager_static($name, $default_value = NULL, $reset = FALSE) {
static $data = array(), $default = array();
// First check if dealing with a previously defined static variable.
if (isset($data[$name]) || array_key_exists($name, $data)) {
// Non-NULL $name and both $data[$name] and $default[$name] statics exist.
if ($reset) {
// Reset pre-existing static variable to its default value.
$data[$name] = $default[$name];
}
return $data[$name];
}
// Neither $data[$name] nor $default[$name] static variables exist.
if (isset($name)) {
if ($reset) {
// Reset was called before a default is set and yet a variable must be
// returned.
return $data;
}
// First call with new non-NULL $name. Initialize a new static variable.
$default[$name] = $data[$name] = $default_value;
return $data[$name];
}
// Reset all: ($name == NULL). This needs to be done one at a time so that
// references returned by earlier invocations of drupal_static() also get
// reset.
foreach ($default as $name => $value) {
$data[$name] = $value;
}
// As the function returns a reference, the return should always be a
// variable.
return $data;
}