BasicValetDriver::frontControllerPath PHP Method

frontControllerPath() public method

Get the fully resolved path to the application's front controller.
public frontControllerPath ( string $sitePath, string $siteName, string $uri ) : string
$sitePath string
$siteName string
$uri string
return string
    public function frontControllerPath($sitePath, $siteName, $uri)
    {
        $dynamicCandidates = [$this->asActualFile($sitePath, $uri), $this->asPhpIndexFileInDirectory($sitePath, $uri), $this->asHtmlIndexFileInDirectory($sitePath, $uri)];
        foreach ($dynamicCandidates as $candidate) {
            if ($this->isActualFile($candidate)) {
                $_SERVER['SCRIPT_FILENAME'] = $candidate;
                $_SERVER['SCRIPT_NAME'] = str_replace($sitePath, '', $candidate);
                $_SERVER['DOCUMENT_ROOT'] = $sitePath;
                return $candidate;
            }
        }
        $fixedCandidatesAndDocroots = [$this->asRootPhpIndexFile($sitePath) => $sitePath, $this->asPublicPhpIndexFile($sitePath) => $sitePath . '/public', $this->asPublicHtmlIndexFile($sitePath) => $sitePath . '/public'];
        foreach ($fixedCandidatesAndDocroots as $candidate => $docroot) {
            if ($this->isActualFile($candidate)) {
                $_SERVER['SCRIPT_FILENAME'] = $candidate;
                $_SERVER['SCRIPT_NAME'] = '/index.php';
                $_SERVER['DOCUMENT_ROOT'] = $docroot;
                return $candidate;
            }
        }
    }

Usage Example

示例#1
0
 /**
  * Get the fully resolved path to the application's front controller.
  *
  * @param  string  $sitePath
  * @param  string  $siteName
  * @param  string  $uri
  * @return string
  */
 public function frontControllerPath($sitePath, $siteName, $uri)
 {
     $_SERVER['PHP_SELF'] = $uri;
     $_SERVER['SERVER_ADDR'] = '127.0.0.1';
     $_SERVER['SERVER_NAME'] = $_SERVER['HTTP_HOST'];
     return parent::frontControllerPath($sitePath, $siteName, $this->forceTrailingSlash($uri));
 }
All Usage Examples Of BasicValetDriver::frontControllerPath