Сериализация с Igbinary

Дошли, наконец, руки поставить и протестировать PHP-расширение Igbinary, о котором сегодня и поведую.

Igbinary предназначена для замены стандартных механизмов сериализации. Сериализация, это, как все наверное знают, способ представления структуры данных в виде строки, годной для хранения, передачи и последующей конвертации обратно в изначальную структуру.

$A = array(1, 2, 'three', true);
$s = serialize($A);
 
var_dump($s); // 'a:4:{i:0;i:1;i:1;i:2;i:2;s:5:"three";i:3;b:1;}'

Для подобных действий используются функции serialize() и unserialize. Кроме того сериализация происходит неявно для данных сессий, значений в мемкэше и др.

Основной недостаток стандартной сериализации: формат строки — слишком многословный. Именно эту проблему решает Igbinary, сохраняя данные в компактной двоичной последовательности.

Остальной текст под катом

PHP Extension: Date/Time

Что-то я совсем разленился и перестал быть в курсе нововведений в PHP. Дабы исправить это, я решил перечитать документацию по всем расширениям языка. А заодно и вывалить краткие отчёты по этому на головы моих неподготовленных читателей. Может быть, для других лентяев что-нибудь окажется полезным.

Сегодня рассмотрим новые (относительно) средства для работы со временем, появившиеся в PHP 5.2 (с 5.1 в ранге экспериментальных). Для меня, в большинстве случаев, работа с ними, заканчивается на вызове в начале программы date_default_timezone_set(), иначе при E_STRICT выскакивает предупреждение.

Однако, новые средства довольно забавны и, вполне, могут сделать жизнь проще и веселее.

Остальной текст под катом