class styleFinder{
function styleFinder(){
}
function getFilesNFolders($folder){
$this->folder = $folder ;
if($this->folder==""){
$this->folder = '.';
}
if ($handle = opendir($this->folder)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
echo "$file<br /> ";
if(is_dir($file)){
echo "<b>" . $file . " is a folder</b><br /> with contents ";
$this::getFilesNFolders($file);
# echo "Found folder";
}
}
}
closedir($handle);
}
}
} Я бледный, чтобы распечатать полное дерево папок и файлов, скрипт собирается в первые папки и поиск файлов, а затем найти любые вложенные папки, но не вложенные папки (и да есть некоторые). Любые идеи, пожалуйста?проблема вызова метода PHP внутри самой
Почему '::'? Используйте '$ this-> getFilesNFolders ($ file);' для чего-то. – meagar
Статические вызовы создаются с использованием 'self :: method()' или 'parent :: method()', но вы не можете ссылаться на состояние объекта в статическом вызове ('->' не разрешено). Представьте, что статические вызовы являются функциональными: http://en.wikipedia.org/wiki/Functional_programming – cbednarski
За исключением того, что 'parent :: method()' на самом деле не является статическим вызовом. Это вызов, который зависит от типа доступа исходного метода (если к экземпляру оригинала обратился в качестве экземпляра, тогда родительский вызов будет иметь доступ к '$ this'). Так что это особый случай (и неинтуитивный, по меньшей мере) ... – ircmaxell