php – 这个方法来自哪里
我目前正在通过
PHP如何预订,并有点困惑以下.部分代码是;
$filesInFolder = new DirectoryIterator( $folder); $file = $filesInFolder->current(); $filename = $file->getFilename(); 我(我想)我明白$filesInFolder = new DirectoryIterator($folder)在$filesInFolder中创建一个新的DirectoryIterator($folder)实例,而$file = $filesInFolder-> current()正在调用方法current()在$file. 我不明白的是$file-> getFilename()中的方法getFilename()来自哪里. 是$file = $filesInFolder-> current()在$file中创建类的新实例还是发生了其他事情? 谢谢 解决方法
你的问题非常有效.这确实令人困惑.更重要的是,获取 – > current()的步骤可以省略.这也有效:
$filesInFolder = new DirectoryIterator( $folder); $filename = $filesInFolder->getFilename(); DirectoryIterator类公开了方法current:
这实际上是 令人困惑的是,DirectoryIterator :: current返回的对象又是DirectoryIterator类.这个类合并为一个你期望在不同的类中隔离的类: > 因此,当这些在一个对象中汇集在一起??时,您不需要调用current,尽管有些人仍然希望与其他Iterable类的工作方式保持一致. 注意:通常你会以这种方式在Iterable上编写代码: foreach (new DirectoryIterator( $folder) as $file) { $filename = $file->getFilename(); // ... etc,maybe break; } 这样你也可以处理根本没有匹配文件的情况. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |