Elgg\ViewsService::autoregisterViews PHP Метод

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

public autoregisterViews ( $view_base, $folder, $viewtype )
    public function autoregisterViews($view_base, $folder, $viewtype)
    {
        $folder = rtrim($folder, '/\\');
        $view_base = rtrim($view_base, '/\\');
        $handle = opendir($folder);
        if (!$handle) {
            return false;
        }
        while ($entry = readdir($handle)) {
            if ($entry[0] === '.') {
                continue;
            }
            $path = "{$folder}/{$entry}";
            if (!empty($view_base)) {
                $view_base_new = $view_base . "/";
            } else {
                $view_base_new = "";
            }
            if (is_dir($path)) {
                $this->autoregisterViews($view_base_new . $entry, $path, $viewtype);
            } else {
                $view = $view_base_new . basename($entry, '.php');
                $this->setViewLocation($view, $viewtype, $path);
            }
        }
        return true;
    }

Usage Example

Пример #1
0
 public function setUp()
 {
     $this->viewsDir = dirname(dirname(__FILE__)) . "/test_files/views";
     $this->hooks = new \Elgg\PluginHooksService();
     $this->logger = $this->getMock('\\Elgg\\Logger', array(), array(), '', false);
     $this->views = new \Elgg\ViewsService($this->hooks, $this->logger);
     $this->views->autoregisterViews('', "{$this->viewsDir}/default", 'default');
     // supports deprecation wrapper for $vars['user']
     _elgg_services()->setValue('session', \ElggSession::getMock());
 }