Я начал изучать ООП, и MVC подход. Пишу первый скрипт и не могу понять одну вещь. С помощью следующего кода, я хочу получить список всех файлов в каталоге, которые имеют расширение txt. В каталоге, где лежит данный скрипт есть несколько папок, внутри этих папок есть ещё txt файлы. Для того, чтобы найти эти файлы скриптом нужен рекурсивный запуск функции. В этом и проблема Код следующий: PHP: <?php Class Model { function check_dirs($path) { if ($dir = opendir($path)) { $i=0; while (($file = readdir($dir)) !== false) { $i++; if($file !== '.' && $file !== '..') { if (is_dir("$path/$file/")) { $this->check_dirs("$path/$file/"); } elseif (ereg(".txt", $file)) { echo $path.$file."<br>"; $files_array[$i]=$path.$file; /* (1) прямо здесь использовать функции обработки и тогда будет контроллер. Или так не делают? */ } } } closedir($dir); /* (2) если делаю так то получается, что функция не рекурсивная return $files_array; */ } } } $check=new Model(); print_r($check->check_dirs(".")); Если раскомментить пункт 2, то получится что функция не рекурсивная будет. Если использовать вариант 1, то вроде тоже что-то не то будет. Как я прочитал в теории, что в модели (а этот код, вроде как модель), не должно быть обработки данных. Вот я и парюсь, как так сделать, чтобы всё обработать в контроллере. Вообщем вопрос в следующем, в MVC подходе рекурсивные функции можно же реализовать, если да, то как ? Т.е в модели рекурсивная функция, в контроллере обработка результатов этой рекурсивной функции.
может не так поняли "обработку данных". в вашем случае как раз модель обрабатывает все папки и выдает результат контроллеру.