Маршрут (ProjectName) не существует. Я использовал пространство имен и автозагрузку в файле composer.json - PullRequest
0 голосов
/ 12 октября 2019

Я использую xammp и запускаю этот проект "localhost / projectName" Проблема возникает, когда я нажимаю "localhost / projeceName / users"

I think Here is the problem.First line When I write ('/projectName') it 
works. In second line is not working ('./projectName/users')


$router ->controller('/', \App\Controllers\HomeController::class);
$router ->controller('/users', \App\Controllers\UserController::class);

// Файл Index.php //

require_once 'vendor/autoload.php';
$router  = new RouteCollector(new RouteParser());
$router ->controller('/', \App\Controllers\HomeController::class);
$router ->controller('/users', \App\Controllers\UserController::class);
$dispatcher = new Dispatcher($router->getData());

try{

   $response = $dispatcher->dispatch($_SERVER['REQUEST_METHOD'], 
   parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
 }

  catch(HttpRouteNotFoundException $e){
   echo $e->getMessage();
  die();
 }

catch(HttpMethodNotAllowedException $e){
   echo $e->getMessage();
die();
}

 echo $response;

// Файл Composer.json //

"autoload": {
    "psr-4": {
        "App\\" : "app/" 
    }
}

// Файл UserController.php //

namespace App\Controllers;

class UserController{

public function getIndex(){

 require_once __DIR__ . '/../../home.php'; 

   }

 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...