...

View Full Version : Why is my class throwing warnings?



cesarcesar
06-05-2007, 05:10 AM
Why is this code throwing the following errors? Thanks.



<?
class DirTree {

/**
* Get a tree of folders and files from a spec dir
* @returns An ArrayCollection of Tree
*/
function DirTree($dir_tree) {
$_tree = $this->parse_dir($dir_tree);
return $_tree;
}

/**
* Get a tree of folders and files from a spec dir
* @returns An Array of Tree
*/
function parse_dir($folder) {

$dir = @opendir($folder);
$filecount = 0;
$foldercount = 0;
$tree = array();
$limb = array();
$cnt = 0;

while(false != ($item = @readdir($dir))) {

if($item == "." || $item == "..") continue;

if(is_dir("$folder/$item")){

$tmpTree = new DirTree();

$limb['sub_folder'][]['folder_name'] = $item;
$limb['sub_folder'][] = $tmpTree->parse_dir("$folder/$item");

$foldercount++;
$limb['folders'][] = $foldercount;

$filecount++;
$limb['files'][] = $filecount;
//continue;

}else{

$limb['file_name'][] = $item;

}
}

$tree[] = $limb;
$cnt++;
return $tree;

}
}

$class = new DirTree();

/* view array */
echo "<pre>";
print_r($class->DirTree("../../core/amf/app"));
echo "</pre>*****************************************************************";
?>


Warning: Missing argument 1 for DirTree::DirTree() in C:\apache2triad\htdocs\flashservices_v1.9\services\folder_tree\dir_tree2.php on line 8

Notice: Undefined variable: dir_tree in C:\apache2triad\htdocs\flashservices_v1.9\services\folder_tree\dir_tree2.php on line 9

Warning: Missing argument 1 for DirTree::DirTree() in C:\apache2triad\htdocs\flashservices_v1.9\services\folder_tree\dir_tree2.php on line 8

Notice: Undefined variable: dir_tree in C:\apache2triad\htdocs\flashservices_v1.9\services\folder_tree\dir_tree2.php on line 9

Warning: Missing argument 1 for DirTree::DirTree() in C:\apache2triad\htdocs\flashservices_v1.9\services\folder_tree\dir_tree2.php on line 8

Notice: Undefined variable: dir_tree in C:\apache2triad\htdocs\flashservices_v1.9\services\folder_tree\dir_tree2.php on line 9

Warning: Missing argument 1 for DirTree::DirTree() in C:\apache2triad\htdocs\flashservices_v1.9\services\folder_tree\dir_tree2.php on line 8

Notice: Undefined variable: dir_tree in C:\apache2triad\htdocs\flashservices_v1.9\services\folder_tree\dir_tree2.php on line 9

Warning: Missing argument 1 for DirTree::DirTree() in C:\apache2triad\htdocs\flashservices_v1.9\services\folder_tree\dir_tree2.php on line 8

Notice: Undefined variable: dir_tree in C:\apache2triad\htdocs\flashservices_v1.9\services\folder_tree\dir_tree2.php on line 9

Fou-Lu
06-05-2007, 07:18 AM
DirTree is a constructor, and there is no default constructor supplied. Calls to object instantiation require the parameter $dir_tree to be added.
Both your $class and your $tmpTree require an argument to be valid. Otherwise, create a default constructor for the class.



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum