AWS EC2 などのクラウド ストレージの解決に関する php プロジェクトに取り組んでいます。
と のような結果を返そうとしSplFileInfo
ますDirectoryIterator
。
まず、FileInfo
モックするために入力しましたSplFileInfo
class FileInfo
{
protected $file;
public function __construct($file)
{
$this->file = $file;
}
public function getFilename()
{
return $this->file['filename'];
}
public function getSize()
{
return $this->file['size'];
}
... other methods like SplFileInfo
}
Directory
第二に、私はモックするために入力しましたDirectoryIterator
class Directory extends FileInfo implements SeekableIterator
{
protected $files;
protected $position;
public function __construct($files)
{
$this->files = $files;
}
public function current()
{
return new FileInfo($this->files[$this->position]);
}
... and other methods required by SeekableIterator
}
次に、問題は私が istancing する必要がある場所です。呼び出されるFileInfo
たびにオブジェクトをインスタンス化するのは適切current()
ですか? またはすべてのオブジェクトをインスタント化します__construct()
か?
そして、コードヒントのためだけに をDirectoryIterator
実装するのはなぜですか?SplFileInfo