@topuserman

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

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

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

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

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

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
24 апр. 2024, в 20:57
3000 руб./за проект
24 апр. 2024, в 20:35
5000 руб./за проект