Задать вопрос
@topuserman

Как работают PHP-потоки (stream)? почему они не загружаются полностью в память?

Недавно начал глубже изучать psr-7 (а именно в php-fig/http-message), и одним из интересных моментов для меня был StreamInterface.

Мне стало интересно, почему тело http-сообщения сделали через потоки.

Насколько я понял, для этого было две причины:
1. Оптимизация. Т.к. тело сообщений может быть очень большим, и чтобы его не хранить в строках, было принято решение использовать потоки.
2. Можно реализовать много фич поверх потоков.

если не прав, или что-то не так понял - прошу поправить/дополнить.

Честно говоря плотно работать с потоками в php не приходилось, тем более знать какие-то тонкости и нюансы его работы.

Меня заинтересовал принцип работы потоков.
Хотел бы понять, что это такое - под капотом.
Почему если в поток записать много данных, то они не сохраняются в памяти (тогда куда они сохраняются) ?

Попробовал посмотреть на официальном сайте php - информации не нашел.

За доп. ссылки, где про это прочитать, буду отдельно благодарен!
  • Вопрос задан
  • 562 просмотра
Подписаться 3 Простой Комментировать
Решения вопроса 1
glaphire
@glaphire Куратор тега PHP
PHP developer
Эту инфу нужно искать в отрыве от языка, это уровень операционной системы.
Один из ответов на SO:
What is Under the Hood in a Stream in Programming?
Upd. Еще есть пересекающаяся тема как http streaming,
я когда-то для себя шпаргалку писала (ссылка)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы