У меня есть собственный объект Tree, реализованный в PHP. Скажем, у нас есть дерево, как:Реализация дерева PHP: доступ к родительскому узлу
Root |_ Folder 1 |_ Folder 2 |_ Subfolder 1
я могу получить доступ Subfolder 1
так:
$sf1 = $Tree->NavigateTo("Folder 2/Subfolder 1")
И $sf1
будет держать Subfolder 1
узел. Я хочу, чтобы реализовать метод GetParentNode()
, так что
$parent = $sf1->GetParentNode() // Equivalent to Folder 2
Это определение дерева:
class JaxpTree
{
/**
* @var JaxpTree|JaxpTreeNode Array of Tree nodes.
* @access public
*/
public $Nodes;
/**
* @var JaxpList Array of Tree items.
* @access public
*/
public $ItemList;
}
Он работает вложенности дерева объектов, так Subfolder 1 могут быть доступны также как:
$Tree->Nodes["Folder 2"]->Nodes["Subfolder 1"]
который будет TreeNode объект:
/**
* Represents a Tree node.
*
* @package Jaxp.Trees
* @subpackage TreeNode
* @since 1.0
*/
class JaxpTreeNode
{
/**
* @var int Node id.
* @access public
*/
public $Id;
/**
* @var JaxpTreeNodeAttributes Contains the node's attributes.
* @access public
*/
public $Attributes;
}
Как я могу реализовать доступ к родительскому узлу здесь?
решаемые
Решение является добавление свойство Parent, которое содержит ссылку на родительский узел. Спасибо!
Итак, я должен добавить свойство «Родитель» со ссылкой. –
@Joel да, точно –