Banago\PHPloy\PHPloy::hasDeletedDirectories PHP Метод

hasDeletedDirectories() публичный Метод

Checks for deleted directories. Git cares only about files.
public hasDeletedDirectories ( array $filesToDelete ) : array
$filesToDelete array
Результат array
    public function hasDeletedDirectories($filesToDelete)
    {
        $dirsToDelete = [];
        foreach ($filesToDelete as $file) {
            // Break directories into a list of items
            $parts = explode('/', $file);
            // Remove files name from the list
            array_pop($parts);
            foreach ($parts as $i => $part) {
                $prefix = '';
                // Add the parent directories to directory name
                for ($x = 0; $x < $i; ++$x) {
                    $prefix .= $parts[$x] . '/';
                }
                $part = $prefix . $part;
                // If directory doesn't exist, add to files to delete
                // Relative path won't work consistently, thus getcwd().
                if (!is_dir(getcwd() . '/' . $part)) {
                    $dirsToDelete[] = $part;
                }
            }
        }
        // Remove duplicates
        $dirsToDeleteUnique = array_unique($dirsToDelete);
        // Reverse order to delete inner children before parents
        $dirsToDeleteOrder = array_reverse($dirsToDeleteUnique);
        $this->debug('Directories to be deleted: ' . print_r($dirsToDeleteOrder, true));
        return $dirsToDeleteOrder;
    }