/** * Build URL by default route * * @param string $module * @param string $controller * @param array $params * @return string */ protected function urlRoute($module, $controller, $params) { $url = Request::getBaseUrl(); if (empty($params)) { if ($controller == self::DEFAULT_CONTROLLER) { if ($module == self::DEFAULT_MODULE) { return $url; } else { return $url . $module; } } } $url .= $module . '/' . $controller; $getParams = array(); foreach ($params as $key => $value) { // sub-array as GET params if (is_array($value)) { $getParams[$key] = $value; continue; } $url .= '/' . urlencode($key) . '/' . urlencode($value); } if (!empty($getParams)) { $url .= '?' . http_build_query($getParams); } return $url; }
<?php /** * Bluz Framework Component * * @copyright Bluz PHP Team * @link https://github.com/bluzphp/framework */ /** * @namespace */ namespace Bluz\View\Helper; use Bluz\Proxy\Request; use Bluz\View\View; return function ($file = null) { // setup baseUrl if (!$this->baseUrl) { $this->baseUrl = Request::getBaseUrl(); // clean script name if (isset($_SERVER['SCRIPT_NAME']) && ($pos = strripos($this->baseUrl, basename($_SERVER['SCRIPT_NAME']))) !== false) { $this->baseUrl = substr($this->baseUrl, 0, $pos); } } // Remove trailing slashes if (null !== $file) { $file = ltrim($file, '/\\'); } return rtrim($this->baseUrl, '/') . '/' . $file; };