
Phar::buildFromIterator 함수의 첫 번째 인자인 'iterator'에는 반복 가능한 객체를 넣어야 합니다. 반복 가능한 객체는 PharData 객체, ArrayIterator 객체, SplFileObject 객체, 또는 PHP 파일 객체를 포함할 수 있습니다.
PHP 파일 객체를 넣을 수 있지만, PharData 객체를 넣는 것이 더 적합합니다. PharData 객체는 Phar 아카이브에 포함할 파일을 저장하기 위해 사용하기 때문에 Phar 아카이브에 포함할 파일을 PharData 객체에 저장한 후 Phar::buildFromIterator 함수에 PharData 객체를 넣는 것이 좋습니다.
예를 들어, 다음과 같이 Phar 아카이브에 포함할 파일을 PharData 객체에 저장한 후 Phar::buildFromIterator 함수에 PharData 객체를 넣을 수 있습니다.
#hostingforum.kr
php
$pharData = new PharData('example.phar');
$pharData->addFile('file1.txt');
$pharData->addFile('file2.txt');
$phar = new Phar('example.phar');
$phar->buildFromIterator($pharData);
또는 Phar::buildFromIterator 함수에 ArrayIterator 객체를 넣을 수 있습니다.
#hostingforum.kr
php
$pharData = new PharData('example.phar');
$pharData->addFile('file1.txt');
$pharData->addFile('file2.txt');
$arrayIterator = new ArrayIterator($pharData->getContents());
$phar = new Phar('example.phar');
$phar->buildFromIterator($arrayIterator);
또는 Phar::buildFromIterator 함수에 SplFileObject 객체를 넣을 수 있습니다.
#hostingforum.kr
php
$pharData = new PharData('example.phar');
$pharData->addFile('file1.txt');
$pharData->addFile('file2.txt');
$splFileObject = new SplFileObject('file1.txt');
$arrayIterator = new ArrayIterator([$splFileObject]);
$phar = new Phar('example.phar');
$phar->buildFromIterator($arrayIterator);
또는 Phar::buildFromIterator 함수에 PHP 파일 객체를 넣을 수 있습니다.
#hostingforum.kr
php
$pharData = new PharData('example.phar');
$pharData->addFile('file1.txt');
$pharData->addFile('file2.txt');
$file = fopen('file1.txt', 'r');
$arrayIterator = new ArrayIterator([$file]);
$phar = new Phar('example.phar');
$phar->buildFromIterator($arrayIterator);
Phar::buildFromIterator 함수의 첫 번째 인자인 'iterator'에는 반복 가능한 객체를 넣어야 하므로, PharData 객체, ArrayIterator 객체, SplFileObject 객체, 또는 PHP 파일 객체를 넣을 수 있습니다. PharData 객체를 넣는 것이 더 적합합니다.
2025-03-14 12:47