我在尝试成为一名面向对象的程序员,所以我给自己设定了一些简单的任务。
我创建了一个类来显示给定目录中的所有图像。这很好,所以我把那个类分成了两个类:一个用于读取目录中的文件名并将它们传递到数组中,另一个用于解析该数组并显示图片。子类中的方法与其在父类中的相同(当然要用parent::替换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/');