Verzeichnisstruktur phpBB-3.1.0


Veröffentlicht
27.10.2014

So funktioniert es


Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück

Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis.
Auf den Verzeichnisnamen klicken, dies zeigt nur das Verzeichnis mit Inhalt an

(Beispiel Datei-Icons)

Auf das Icon klicken um den Quellcode anzuzeigen

provider.php

Zuletzt modifiziert: 09.10.2024, 12:52 - Dateigröße: 1.92 KiB


01  <?php
02  /**
03  *
04  * This file is part of the phpBB Forum Software package.
05  *
06  * @copyright (c) phpBB Limited <https://www.phpbb.com>
07  * @license GNU General Public License, version 2 (GPL-2.0)
08  *
09  * For full copyright and license information, please see
10  * the docs/CREDITS.txt file.
11  *
12  */
13   
14  namespace phpbb\controller;
15   
16  use Symfony\Component\Routing\RouteCollection;
17  use Symfony\Component\Routing\Loader\YamlFileLoader;
18  use Symfony\Component\Config\FileLocator;
19   
20  /**
21  * Controller interface
22  */
23  class provider
24  {
25      /**
26      * YAML file(s) containing route information
27      * @var array
28      */
29      protected $routing_files;
30   
31      /**
32      * Collection of the routes in phpBB and all found extensions
33      * @var RouteCollection
34      */
35      protected $routes;
36   
37      /**
38      * Construct method
39      *
40      * @param array $routing_files Array of strings containing paths
41      *                            to YAML files holding route information
42      */
43      public function __construct($routing_files = array())
44      {
45          $this->routing_files = $routing_files;
46      }
47   
48      /**
49      * Find the list of routing files
50      *
51      * @param \phpbb\finder $finder
52      * @return null
53      */
54      public function find_routing_files(\phpbb\finder $finder)
55      {
56          // We hardcode the path to the core config directory
57          // because the finder cannot find it
58          $this->routing_files = array_merge($this->routing_files, array('config/routing.yml'), array_keys($finder
59                  ->directory('/config')
60                  ->suffix('routing.yml')
61                  ->find()
62          ));
63      }
64   
65      /**
66      * Find a list of controllers
67      *
68      * @param string $base_path Base path to prepend to file paths
69      * @return provider
70      */
71      public function find($base_path = '')
72      {
73          $this->routes = new RouteCollection;
74          foreach ($this->routing_files as $file_path)
75          {
76              $loader = new YamlFileLoader(new FileLocator(phpbb_realpath($base_path)));
77              $this->routes->addCollection($loader->load($file_path));
78          }
79   
80          return $this;
81      }
82   
83      /**
84      * Get the list of routes
85      *
86      * @return RouteCollection Get the route collection
87      */
88      public function get_routes()
89      {
90          return $this->routes;
91      }
92  }
93