Структуры данных в PHP (начиная с 5-й версии)

Добавлено: 30/05/2015 01:53 |  Обновлено: 19/08/2017 11:34 |  Добавил: nick |  Просмотры: 4375 Комментарии: 0
Вводная часть
Несколько слов о структурах данных в PHP. А точнее о стандартной библиотеке PHP (SPL), в которой реализован набор интерфейсов и классов по работе со структурами данных "из коробки".
Итак, о структурах данных и библиотеке 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 по умолчанию, со всеми вытекающими из этого плюсами, взять ее на заметку бесспорно стоит.

Оставьте свой комментарий

Комментариев нет