Структуры данных в PHP

Итак, о структурах данных и библиотеке SPL…

Честно говоря, когда я начинал программировать веб-приложения я и не задумывался об использовании структур данных типа стеков или очередей. Вполне хватало массивов. Я думаю, и сами разработчики тоже об этом не задумывались, раз библиотека SPL появилась только в 5-й версии PHP.

Как же реализовались потребности разработчиков в этой сфере до 5-й версии?

Как это часто бывает в мире PHP — люди изобретали свои велосипеды. В сети и сейчас полно сайтов, где люди делятся своими наработками.

Но как говорится, время летит, язык взрослеет, и в PHP появляется библиотека SPL. Приведу цитату с сайта php.net:

Стандартная библиотека PHP (SPL) — это набор интерфейсов и классов, предназначенных для решения стандартных задач. Не требуется никаких внешних библиотек для сборки этого расширения, и оно доступно по умолчанию в PHP 5.0.0 и выше. SPL предоставляет ряд стандартных структур данных, итераторов для оббегания объектов, интерфейсов, стандартных исключений, некоторое количество классов для работы с файлами и предоставляет ряд функций, например spl_autoload_register().

Пример по работе с очередями с php.net:

$q = new SplQueue();
$q->push(1);
$q->push(2);
$q->push(3);
$q->pop();
print_r($q);

Код выше вернет следующее:

SplQueue Object
(
    [flags:SplDoublyLinkedList:private] => 4
    [dllist:SplDoublyLinkedList:private] => Array
        (
            [0] => 1
            [1] => 2
        )
)

C набором структур данных библиотеки можно ознакомиться также на phpnet.ru.

Использовать эту библиотеку или нет, решать вам. Но, раз SPL доступна в PHP по умолчанию, со всеми вытекающими из этого плюсами, взять ее на заметку бесспорно стоит.