Todaymade\Daux\Daux::generateTree PHP Метод

generateTree() публичный Метод

Generate the tree that will be used
public generateTree ( )
    public function generateTree()
    {
        $this->options['valid_content_extensions'] = $this->getContentExtensions();
        $this->tree = new Root($this->getParams());
        Builder::build($this->tree, $this->options['ignore']);
        if (!empty($this->options['languages'])) {
            foreach ($this->options['languages'] as $key => $node) {
                $this->tree->getEntries()[$key]->setTitle($node);
            }
        }
        // Enhance the tree with processors
        $this->getProcessor()->manipulateTree($this->tree);
        // Sort the tree one last time before it is finalized
        $this->sortTree($this->tree);
        $this->finalizeTree($this->tree);
    }

Usage Example

Пример #1
0
 /**
  * Serve the documentation
  *
  * @throws Exception
  */
 public static function serve()
 {
     $daux = new Daux(Daux::LIVE_MODE);
     $daux->initializeConfiguration();
     $class = $daux->getProcessorClass();
     if (!empty($class)) {
         $daux->setProcessor(new $class($daux, new NullOutput(), 0));
     }
     // Set this critical configuration
     // for the tree generation
     $daux->getParams()['index_key'] = 'index';
     // Improve the tree with a processor
     $daux->generateTree();
     $server = new static($daux);
     try {
         $page = $server->handle($_REQUEST);
     } catch (NotFoundException $e) {
         http_response_code(404);
         $page = new ErrorPage('An error occured', $e->getMessage(), $daux->getParams());
     }
     if ($page instanceof RawPage) {
         header('Content-type: ' . MimeType::get($page->getFile()));
         // Transfer file in 1024 byte chunks to save memory usage.
         if ($fd = fopen($page->getFile(), 'rb')) {
             while (!feof($fd)) {
                 echo fread($fd, 1024);
             }
             fclose($fd);
         }
         return;
     }
     header('Content-type: text/html; charset=utf-8');
     echo $page->getContent();
 }