在类方法中创建并调用函数

时间:2015-04-04 22:06:55

标签: php anonymous-function

我正在尝试调用函数内部的函数,但它没有被调用,也没有出现错误。

我创建了一个$addFile函数,以便在下面的switch语句中重用它。

public function findFilesBySize($path, $size)
{
    if((!is_array($size)) || (count($size) != 2))
        throw new \Exception("Second parameter should be array of comparison operator and value", 1);


    $path = (is_dir($path)) ? $path : getcwd();
    $files = array();
    $addFiles = function(array $files, \DirectoryIterator $file ) 
                {
                    die('working'); // function not getting called
                    $files[] = $file->getFileName();
                };
    $iterator = new \DirectoryIterator($path);
    foreach ($iterator as $file) {
        if($file->isDir())
            continue;
        switch ($size[0]) {
            case '<':
                if($file->getSize() < $size[1]) {
                    $addFiles($files, $file);
                }
                break;   
            case '>':
                if($file->getSize() > $size[1]) {
                    $addFiles($files, $file);
                }
                break;

            default:
                # code...
                break;
        }
    }
    return $files;
}

附加/可选部分: 我不喜欢切换方法,如果有人可以提出任何好方法来做if($file->getSize() $operator $value)那么请告诉我。

0 个答案:

没有答案