public function createTrie(): TrieNode
    {
        if ($this->trieCache !== null && ($trie = $this->trieCache->get()) !== null) {
            return $trie;
        }

        // Need to generate the trie
        $trie = new RootTrieNode();

        foreach ($this->routeFactory->createRoutes()->getAll() as $route) {
            foreach ($this->trieCompiler->compile($route)->getAllChildren() as $childNode) {
                $trie->addChild($childNode);
            }
        }

        // Save this to cache for next time
        if ($this->trieCache !== null) {
            $this->trieCache->set($trie);
        }

        return $trie;
    }
public function createTrie(): TrieNode
    {
        if ($this->trieCache !== null && ($trie = $this->trieCache->get()) !== null) {
            return $trie;
        }

        // Need to generate the trie
        $trie = new RootTrieNode();

        foreach ($this->routeFactory->createRoutes()->getAll() as $route) {
            foreach ($this->trieCompiler->compile($route)->getAllChildren() as $childNode) {
                $trie->addChild($childNode);
            }
        }

        // Save this to cache for next time
        if ($this->trieCache !== null) {
            $this->trieCache->set($trie);
        }

        return $trie;
    }
public function createTrie ( ) : TrieNode { if ( $ this -> trieCache !== null && ( $ trie = $ this -> trieCache -> get ( ) ) !== null ) { return $ trie ; } // Need to generate the trie $ trie = new RootTrieNode ( ) ; foreach ( $ this -> routeFactory -> createRoutes ( ) -> getAll ( ) as $ route ) { foreach ( $ this -> trieCompiler -> compile ( $ route ) -> getAllChildren ( ) as $ childNode ) { $ trie -> addChild ( $ childNode ) ; } } // Save this to cache for next time if ( $ this -> trieCache !== null ) { $ this -> trieCache -> set ( $ trie ) ; } return $ trie ; }
Creates a trie

@return TrieNode The trie
Creates a trie