PHP Массив объектов Внутренний шаблон навигации - PullRequest
0 голосов
/ 27 июня 2009

У меня есть массив объектов, и я хочу, чтобы объекты могли ссылаться на своих «соседей» (следующий и предыдущий объекты в массиве). Существует ли существующий шаблон для этого?

Возможно, массив должен быть заключен в объект (поскольку объект может быть повторен так же, как и массив). Это тоже хорошо, я просто ищу существующий образец хорошей практики.

Ответы [ 3 ]

3 голосов
/ 27 июня 2009

Описанная проблема выглядит очень похоже на обычный связанный список . Вы можете просто добавить поля next и prev в ваш объект, или, если вы не хотите его менять, вы можете создать объект-обертку, который будет содержать оригинал и будет иметь эти поля. Или в случае, если массив достаточно глобален, чтобы хранить только ваш текущий индекс внутри массива, и тогда очень просто получить ваших соседей.

1 голос
/ 28 июня 2009

В зависимости от используемой версии PHP, SPL предоставляет класс SplDoublyLinkedList, который обеспечивает все основные функции двусвязного списка.

1 голос
/ 27 июня 2009

Я бы подумал об использовании интерфейса Iterator с вашим объектом-оберткой. Этот подход будет «существующей хорошей практикой», которую вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...