이것은 내 주 입니다. 파일입니다. 브라우저에 약 페이지를로드 할 때 작성하지만 실패합니다.PHP 경로가 브라우저 막대의 효과를 변경하지 않습니다.
<?php
$database = require 'core/bootstrap.php';
require Router::load('routes.php')
->direct(Request::uri());
?>
이, 내가 노력
<?php
class Router
{
protected $routes = [];
public static function load($file)
{
$router = new static;
require $file;
return $router;
}
public function define($routes)
{
$this->routes = $routes;
}
public function direct($uri)
{
if(array_key_exists($uri , $this->routes))
{
return $this->routes[$uri];
}
throw new Exception('No Routes defined for this URL');
}
}
?>
나는 오류가 여기에 무엇인지 모르겠어요
내 routes.php 파일
<?php
$router->define([
'' => 'controllers/index.php',
'about' => 'controllers/about.php',
'about-culture' => 'controllers/about-culture.php',
'contact' => 'controllers/contact.php'
]);
?>
이것은 공유기 파일입니다 많은 것을 배우고 튜토리얼을보고 정확하게 그가하는 것처럼 보이지만 결과를 보여주지는 않습니다.
require Router::load('routes.php') ->direct(Request::uri());
난 단지 시작을 쓰기
로컬 호스트 : 8080/시작/ (이것은 내 모든 파일이 존재하는 폴더, 그것은 나에게 오류를 제공치명적인 오류 : catch되지 않은 예외 : 없음 이 URL에 대해 C : \ xampp \ htdocs \ start \ core \ Router.php에 정의 된 경로 : 25 Stack trace : # 0 C : \ xampp \ htdocs \ start \ index.php (8) : Router-> direct ('start ') # 1 {main}은 C : \ xampp \ htdocs \ start \ core \ Router.php 25 행에 넣습니다.
개체를 찾을 수 없습니다.
시작하여 시작 후 요청 URI를 얻을 수있는 응용 프로그램의 폴더 이름과 루트 디렉토리이기 때문에 기본적으로 REQUEST_URI
는 호스트 이름과 프로토콜을 제외한 전체 URL을 포함
<?php
class Request
{
public static function uri()
{
return trim($_SERVER['REQUEST_URI'], '/');
}
}
?>
'위해서 var_dump (요청 : URI())로 호출 할 수있는 '볼이다 그게 뭐래? 그것은 아마 당신의 목록에없는'start /'또는 비슷한 것을 말합니다. –
string (5) "start"이것은 사용중인 라우터 라이브러리 –
입니까? – siddhesh