Pull to refresh
19
0
Send message

Буфер вывода в PHP

Reading time8 min
Views52K
В этой статье я хочу рассказать о том, как реализован слой «буферизации вывода» в PHP, как работает и как с ним взаимодействовать из PHP. В этом слое нет ничего сложного, но многие разработчики либо совсем не понимают, как с ним обращаться, либо не имеют полной ясности. Всё, о чём я буду писать, относится к PHP версии 5.4 и выше. Именно начиная с неё изменились многие вещи, связанные с буфером вывода (БВ). По сути, этот функционал был полностью переписан, поэтому совместимость с версией 5.3 сохранилась лишь частично.

Что такое буфер вывода?


Поток вывода в PHP содержит байты, обычно в виде текста, которые разработчику надо вывести на экран. Чаще всего для этого используется конструкция echo или printf(). Во-первых, нужно понимать, что любая функция, которая что-то выводит, будет использовать БВ из области PHP. Если говорить о расширениях для PHP, то можно получить доступ к функциям, пишущим в SAPI напрямую, в обход любого вышерасположенного БВ. API C задокументировано в lxr.php.net/xref/PHP_5_5/main/php_output.h, отсюда можно почерпнуть немало информации, например, о размере буфера по умолчанию.

Второй важный момент: слой БВ является не единственным слоем, в котором буферизуются выводимые данные.

И третье: в зависимости от SAPI, который вы используете (веб или cli), слой БВ может вести себя по-разному.

Ниже представлена схема, которая поможет понять всё вышесказанное:

Читать дальше →
Total votes 59: ↑52 and ↓7+45
Comments10

Основы CG-рисунка на примерах: рисуем осциллограф, применяем 3D

Reading time3 min
Views153K


Всем привет! Меня зовут Иван Смирнов, я работаю концепт-художником в Allods Team, игровой студии Mail.Ru Group, на проекте Skyforge. Помимо этого я преподаю на факультете концепт-арта в Scream School и веду онлайн-курсы. Не так давно я проводил лекцию по основам CG-рисунка: в частности, речь шла о том, как нарисовать простой предмет, например, осциллограф. Материалами этой лекции я спешу поделиться с вами. Осторожно, траффик!
Читать дальше →
Total votes 124: ↑117 and ↓7+110
Comments46

Приглашаем на CocoaHeads 29 августа

Reading time1 min
Views4.7K


Срочно в номер, молния! Завтра, то есть 29 августа, в 19.00 в офисе Mail.Ru Group состоится ежемесячная встреча (кстати, юбилейная — уже 2 года) разработчиков под iOS/OS X. Это мероприятие традиционно проводится в последнюю пятницу каждого месяца.

Здесь каждый желающий может выступить со своим докладом, поделиться опытом и информацией о своём проекте. По сути, это встреча с единомышленниками и коллегами по профессии. Наши двери открыты как для новичков, так и для матёрых профессионалов, отсева по заслугам и статусу мы не проводим. Завтра вас будет ждать три доклада.
Читать дальше →
Total votes 37: ↑32 and ↓5+27
Comments6

Конкурс дизайна футболок участников RDC

Reading time4 min
Views14K


Вчера закончился отборочный тур конкурса Russian Design Cup, организатором которого является Mail.Ru Group. Из 118 участников в следующий тур перешли 20 человек. С самого начала им была предложена непростая задача:
20XX год. Социальные сети замедлили свой рост. Людям уже не так важно делиться каждым своим шагом со всем миром. Им надоело делать репосты новостей, котиков, демотиваторов и больных детей. Социальные сети стали заложником огромного числа своих пользователей и любые крупные изменения связаны с серьезными рисками. В одной из трех крупнейших соцсетей России, руководство решило кардинально переработать свой продукт. Вас пригласили на встречу самых главных людей компании, и сказали, что готовы рискнуть и взглянуть по-новому на то, чем может быть социальная сеть. У вас есть время до 11 августа, чтобы предложить решение этой задачи. Проиллюстрируйте ваши идеи, проработайте один из сценариев использования, который покажет как ваш подход наносит пользу миллионам людей.

Подход к решению задачи у всех победителей тура был весьма интересным и зачастую неординарным — потому они и победили. Наибольший средний балл получили работы Доминика Левицкого, Алексея Кипина, Андрея Столешникова, Дмитрия Алябьева и Виталия Якимчука.

Поздравляем победителей и напоминаем, что первый тур конкурса уже начался, и до его окончания осталось меньше 10 дней!

Параллельно с отборочным туром мы решили провести дополнительный мини-конкурс на дизайн официальной футболки RDC. Всего конкурсанты прислали 33 работы, из которых члены жюри выделили самые, на их взгляд, удачные работы.
Много картинок
Total votes 57: ↑51 and ↓6+45
Comments4

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity