В Python (и других) вы можете постепенно обрабатывать большие объемы данных, используя оператор "yield" в функции. Что было бы аналогичным способом сделать это в PHP?
Например, скажем, в Python, если бы я хотел прочитать потенциально очень большой файл, я мог бы работать над каждой строкой один раз за один раз (этот пример надуман, так как это в основном то же самое, что и для line в file_obj '):
def file_lines(fname):
f = open(fname)
for line in f:
yield line
f.close()
for line in file_lines('somefile'):
#process the line
То, что я делаю прямо сейчас (в PHP), я использую переменную частного экземпляра, чтобы отслеживать состояние и действовать соответственно каждый раз, когда вызывается функция, но похоже, что должен быть лучший способ.