Я пытаюсь стать здесь объектно-ориентированным кодером, поэтому я ставлю перед собой несколько простых задач.
Я создал класс, который отображает все изображения в данном каталоге.Это работало нормально, поэтому я разделил этот класс на два класса, один для чтения имен файлов в каталоге и передачи их в массив, а другой для анализа этого массива и отображения изображений.Метод в дочернем классе точно такой же, каким он был в родительском классе (за исключением, конечно, замены parent :: for this ->).
Теперь кажется, что когда я создаю экземпляр дочернего класса ивызовите его метод, ничего не происходит вообще.
Классы:
class Picfind
{
public function findPics($dir){
$files = array();
$i=0;
$handle = opendir($dir);
while (false !== ($file = readdir($handle))){
$extension = strtolower(substr(strrchr($file, '.'), 1));
if($extension == 'jpg' || $extension == 'gif' || $extension == 'png'){
// now use $file as you like
$i++;
$files['file' . $i] = $file;
}
}
return $files;
}
}
class DisplayPics extends Picfind
{
function diplayPics($dir)
{
echo 'displayPics method called';
foreach(parent::findPics($dir) as $key => $val) {
echo '<img src="' . $dir . $val . '" img><br/>';
}
}
}
Реализация:
include("class.picFind.php");
$Myclass = new DisplayPics();
$Myclass->displayPics('./images/');