public function getFilter(): Closure
    {
        $rootDirectory = $this->rootDirectory;
        $includePaths = $this->includePaths;
        $excludePaths = $this->excludePaths;

        return function (SplFileInfo $file) use ($rootDirectory, $includePaths, $excludePaths) {

            if ($file->getExtension() !== 'php') {
                return false;
            }

            $fullPath = $this->getFileFullPath($file);
            // Do not touch files that not under rootDirectory
            if (strpos($fullPath, $rootDirectory) !== 0) {
                return false;
            }

            if (!empty($includePaths)) {
                $found = false;
                foreach ($includePaths as $includePattern) {
                    if (fnmatch("{$includePattern}*", $fullPath, FNM_NOESCAPE)) {
                        $found = true;
                        break;
                    }
                }
                if (!$found) {
                    return false;
                }
            }

            foreach ($excludePaths as $excludePattern) {
                if (fnmatch("{$excludePattern}*", $fullPath, FNM_NOESCAPE)) {
                    return false;
                }
            }

            return true;
        };
    }
public function getFilter(): Closure
    {
        $rootDirectory = $this->rootDirectory;
        $includePaths = $this->includePaths;
        $excludePaths = $this->excludePaths;

        return function (SplFileInfo $file) use ($rootDirectory, $includePaths, $excludePaths) {

            if ($file->getExtension() !== 'php') {
                return false;
            }

            $fullPath = $this->getFileFullPath($file);
            // Do not touch files that not under rootDirectory
            if (strpos($fullPath, $rootDirectory) !== 0) {
                return false;
            }

            if (!empty($includePaths)) {
                $found = false;
                foreach ($includePaths as $includePattern) {
                    if (fnmatch("{$includePattern}*", $fullPath, FNM_NOESCAPE)) {
                        $found = true;
                        break;
                    }
                }
                if (!$found) {
                    return false;
                }
            }

            foreach ($excludePaths as $excludePattern) {
                if (fnmatch("{$excludePattern}*", $fullPath, FNM_NOESCAPE)) {
                    return false;
                }
            }

            return true;
        };
    }
public function getFilter ( ) : Closure { $ rootDirectory = $ this -> rootDirectory ; $ includePaths = $ this -> includePaths ; $ excludePaths = $ this -> excludePaths ; return function ( SplFileInfo $ file ) use ( $ rootDirectory , $ includePaths , $ excludePaths ) { if ( $ file -> getExtension ( ) !== 'php' ) { return false ; } $ fullPath = $ this -> getFileFullPath ( $ file ) ; // Do not touch files that not under rootDirectory if ( strpos ( $ fullPath , $ rootDirectory ) !== 0 ) { return false ; } if ( ! empty ( $ includePaths ) ) { $ found = false ; foreach ( $ includePaths as $ includePattern ) { if ( fnmatch ( "{$includePattern}*" , $ fullPath , FNM_NOESCAPE ) ) { $ found = true ; break ; } } if ( ! $ found ) { return false ; } } foreach ( $ excludePaths as $ excludePattern ) { if ( fnmatch ( "{$excludePattern}*" , $ fullPath , FNM_NOESCAPE ) ) { return false ; } } return true ; } ; }
Returns a filter callback for enumerating files
Returns a filter callback for enumerating files