Comment puis-je savoir dans quel fichier et quelle ligne une fonction donnée a été définie ?
Réponses
Trop de publicités?
Johnco
Points
1389
Stephen Melrose
Points
1901
Anton Gogolev
Points
59794
Loz Cherone ツ
Points
17975
Voici une fonction de base qui va scanner votre les fichiers entiers du projet pour une chaîne de caractères spécifique et vous dire dans quel fichier elle se trouve et à quelle position de caractères elle commence en utilisant seulement le php de base. J'espère que cela aidera quelqu'un...
<?php
$find="somefunction()";
echo findString('./ProjectFolderOrPath/',$find);
function findString($path,$find){
$return='';
ob_start();
if ($handle = opendir($path)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
if(is_dir($path.'/'.$file)){
$sub=findString($path.'/'.$file,$find);
if(isset($sub)){
echo $sub.PHP_EOL;
}
}else{
$ext=substr(strtolower($file),-3);
if($ext=='php'){
$filesource=file_get_contents($path.'/'.$file);
$pos = strpos($filesource, $find);
if ($pos === false) {
continue;
} else {
echo "The string '$find' was found in the file '$path/$file and exists at position $pos<br />";
}
}else{
continue;
}
}
}
}
closedir($handle);
}
$return = ob_get_contents();
ob_end_clean();
return $return;
}
?>