J'ai un objet Tree implémenté en PHP. Disons que nous avons un arbre comme:Implémentation de l'arborescence PHP: accès au nœud parent
Root |_ Folder 1 |_ Folder 2 |_ Subfolder 1
Je peux accéder à Subfolder 1
comme ceci:
$sf1 = $Tree->NavigateTo("Folder 2/Subfolder 1")
Et $sf1
tiendra le nœud Subfolder 1
. Je veux mettre en œuvre une méthode GetParentNode()
, de sorte que
$parent = $sf1->GetParentNode() // Equivalent to Folder 2
Telle est la définition de l'arbre:
class JaxpTree
{
/**
* @var JaxpTree|JaxpTreeNode Array of Tree nodes.
* @access public
*/
public $Nodes;
/**
* @var JaxpList Array of Tree items.
* @access public
*/
public $ItemList;
}
Il fonctionne par l'imbrication des objets d'arbres, si Subfolder 1 est accessible aiment aussi:
$Tree->Nodes["Folder 2"]->Nodes["Subfolder 1"]
qui sera un objet 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;
}
Comment puis-je implémenter l'accès au nœud parent ici?
Résolu
La solution est d'ajouter une propriété parent qui contient une référence au nœud parent. Merci!
Alors, j'ajouter une propriété « parent » avec la référence. –
@Joel oui, exactement –