Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. ClassFinder.php

function ClassFinder::findFile

Overrides ClassFinderInterface::findFile

File

core/lib/Drupal/Component/ClassFinder/ClassFinder.php, line 13

Class

ClassFinder
A Utility class that uses active autoloaders to find a file for a class.

Namespace

Drupal\Component\ClassFinder

Code

public function findFile($class) {
    $loaders = spl_autoload_functions();
    foreach ($loaders as $loader) {
        if (is_array($loader) && isset($loader[0]) && is_object($loader[0]) && method_exists($loader[0], 'findFile')) {
            $file = call_user_func_array([
                $loader[0],
                'findFile',
            ], [
                $class,
            ]);
            // Different implementations return different empty values. For example,
            // \Composer\Autoload\ClassLoader::findFile() returns FALSE whilst
            // \Drupal\Component\ClassFinder\ClassFinderInterface::findFile()
            // documents that a NULL should be returned.
            if (!empty($file)) {
                return $file;
            }
        }
    }
    return NULL;
}
RSS feed
Powered by Drupal