function ClassFinder::registerPrefixesDeep in X Autoload 7.5
Same name and namespace in other branches
- 7.4 lib/ClassFinder/ClassFinder.php \Drupal\xautoload\ClassFinder\ClassFinder::registerPrefixesDeep()
Register an array of PEAR-style deep paths for given class prefixes.
Note: This actually goes beyond PEAR style, because it also allows "shallow" PEAR-like structures like my_library_Some_Class -> (library dir)/src/Some/Class.php instead of my_library_Some_Class -> (library dir)/src/my/library/Some/Class.php via $finder->registerPrefixDeep('my_library', "$library_dir/src");
Parameters
string[] $map: Associative array, the keys are the prefixes, the values are the directories. This does NOT cover the class named $prefix itself.
\Drupal\xautoload\DirectoryBehavior\DirectoryBehaviorInterface $behavior: If TRUE, then we are not sure if the directory at $path actually exists. If during the process we find the directory to be nonexistent, we unregister the path.
Overrides ExtendedClassFinderInterface::registerPrefixesDeep
File
- src/
ClassFinder/ ClassFinder.php, line 257
Class
Namespace
Drupal\xautoload\ClassFinderCode
function registerPrefixesDeep($map, $behavior = NULL) {
if (!isset($behavior)) {
$behavior = $this->defaultBehavior;
}
$deep_map = array();
foreach ($map as $prefix => $deep_path) {
$logical_base_path = Util::prefixLogicalPath($prefix);
$deep_path = strlen($deep_path) ? rtrim($deep_path, '/') . '/' : '';
$deep_map[$logical_base_path][$deep_path] = $behavior;
}
$this->prefixMap
->registerDeepPaths($deep_map);
}