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);
|
||||
}
|
||||
}
|
||||
|
||||
foreach($moves as $new) {
|
||||
$this->_filesMatchClass($new);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -268,6 +272,38 @@ class UpgradeShell extends Shell {
|
|||
$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.
|
||||
*
|
||||
|
|
Loading…
Reference in a new issue