public function subtree($path, &$name, $create = false)
  {
    $parts = $this->split($path);

    $_name = array_shift($parts);
    if (!sizeof($parts)) {
      $name = $_name;
      $subtree = $this;
    } else {

      $exists = isset($this->_subTrees[$_name]);
      if (!$exists && !$create) {
        $subtree = null;
        $name = null;
      } else {
        if (!$exists && $create) {
          $this->_subTrees[$_name] = new self();
        }
        $subtree = $this->_subTrees[$_name]->subtree($parts, $name, $create);
      }

    }
    return $subtree;
  }
public function subtree($path, &$name, $create = false)
  {
    $parts = $this->split($path);

    $_name = array_shift($parts);
    if (!sizeof($parts)) {
      $name = $_name;
      $subtree = $this;
    } else {

      $exists = isset($this->_subTrees[$_name]);
      if (!$exists && !$create) {
        $subtree = null;
        $name = null;
      } else {
        if (!$exists && $create) {
          $this->_subTrees[$_name] = new self();
        }
        $subtree = $this->_subTrees[$_name]->subtree($parts, $name, $create);
      }

    }
    return $subtree;
  }
public function subtree ( $ path , & $ name , $ create = false ) { $ parts = $ this -> split ( $ path ) ; $ _name = array_shift ( $ parts ) ; if ( ! sizeof ( $ parts ) ) { $ name = $ _name ; $ subtree = $ this ; } else { $ exists = isset ( $ this -> _subTrees [ $ _name ] ) ; if ( ! $ exists && ! $ create ) { $ subtree = null ; $ name = null ; } else { if ( ! $ exists && $ create ) { $ this -> _subTrees [ $ _name ] = new self ( ) ; } $ subtree = $ this -> _subTrees [ $ _name ] -> subtree ( $ parts , $ name , $ create ) ; } } return $ subtree ; }
Return subtree by path

@param string  $path   Path
@param string  &$name  Name of new element
@param boolean $create Auto create subtree ?

@return Wrapper_FS_Changes
Return subtree by path