在PHP文件它说:可以克隆PHP生成器吗?
这种灵活性也不过是有代价的,:发电机只进迭代器,一旦迭代开始无法倒带。这也意味着相同的生成器不能迭代多次:生成器需要通过再次调用生成器函数来重建,或通过克隆关键字进行克隆。 Documentation
但是我试图书面克隆,我从一个方法接收到的生成器对象代码,并收到错误指定的发电机对象不能被克隆:
class Course {
private $students = array("avi" , "haim" , "maor" , "liran" , "yossi");
function generateStudents() {
foreach ($this->students as $student) {
yield $student;
}
}
}
$ob = new Course();
$generator = $ob->generateStudents();
// Fatal error: Trying to clone an uncloneable object of class Generator
$generator2 = clone $generator;
?>
请让你的问题更清楚。 –