public function markDirty($path)
    {
        // We don't care enough about sub-paths
        // flushing the entire cache
        $path = trim($path, '/');
        foreach ($this->cache as $nodePath => $node) {
            if ('' === $path || $nodePath == $path || 0 === strpos($nodePath, $path.'/')) {
                unset($this->cache[$nodePath]);
            }
        }
    }
public function markDirty($path)
    {
        // We don't care enough about sub-paths
        // flushing the entire cache
        $path = trim($path, '/');
        foreach ($this->cache as $nodePath => $node) {
            if ('' === $path || $nodePath == $path || 0 === strpos($nodePath, $path.'/')) {
                unset($this->cache[$nodePath]);
            }
        }
    }
public function markDirty ( $ path ) { // We don't care enough about sub-paths // flushing the entire cache $ path = trim ( $ path , '/' ) ; foreach ( $ this -> cache as $ nodePath => $ node ) { if ( '' === $ path || $ nodePath == $ path || 0 === strpos ( $ nodePath , $ path . '/' ) ) { unset ( $ this -> cache [ $ nodePath ] ) ; } } }
This method is called with every tree update.

Examples of tree updates are:
* node deletions
* node creations
* copy
* move
* renaming nodes

If Tree classes implement a form of caching, this will allow
them to make sure caches will be expired.

If a path is passed, it is assumed that the entire subtree is dirty

@param string $path
This method is called with every tree update .