mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2024-11-15 03:18:26 +00:00
add a function to make sure file names match the class they contain
This commit is contained in:
parent
d100f09bb2
commit
1d493ca122
1 changed files with 36 additions and 0 deletions
|
@ -58,6 +58,10 @@ class UpgradeShell extends Shell {
|
||||||
$Folder->move($new);
|
$Folder->move($new);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach($moves as $new) {
|
||||||
|
$this->_filesMatchClass($new);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -268,6 +272,38 @@ class UpgradeShell extends Shell {
|
||||||
$this->_filesRegexpUpdate($patterns);
|
$this->_filesRegexpUpdate($patterns);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function _filesMatchClass($path) {
|
||||||
|
$paths = $this->_paths;
|
||||||
|
$this->_paths = array($path);
|
||||||
|
|
||||||
|
$this->_findFiles('php');
|
||||||
|
foreach ($this->_files as $file) {
|
||||||
|
$contents = file_get_contents($file);
|
||||||
|
preg_match('@class (\S*) @', $contents, $match);
|
||||||
|
if (!$match) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$class = $match[1];
|
||||||
|
|
||||||
|
$filename = basename($file);
|
||||||
|
if ($filename === $class . '.php') {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$new = dirname($file);
|
||||||
|
if ($new) {
|
||||||
|
$new .= DS;
|
||||||
|
}
|
||||||
|
$new .= $class . '.php';
|
||||||
|
|
||||||
|
$this->out('Moving ' . $file . ' to ' . $new, 1, Shell::VERBOSE);
|
||||||
|
rename($file, $new);
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->_paths = $paths;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Updates files based on regular expressions.
|
* Updates files based on regular expressions.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in a new issue