Почему не работает второй метод в Controller

133
08 февраля 2020, 10:50

Каждый раз по вызывании второго метода передается html без стилей . Можете сказать это с чем связано .Погуглил но нечего не нашел по этой теме.

<а href="/index/">Page</a>
<а href="/index/hello/">Page</a>

При ссылке <а href="/index/hello/">Page</a> подключается сраница но без стилей. Помогите найти проблему .

Структура сайта

project
---------model
---------view
         ----------index.php
---------controller
         ----------IndexController.php
         ----------ErrorController.php
---------config
         ----------router.php
---------template
         -----------style.css
         -----------script.js
         images
---------.htaccess
---------index.php

view/index.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link rel="stylesheet" href="template/style.css">
</head>
<body>
    <h1><?php $hello; ?></h1>
</body>
</html>

controller/IndexController.php

 class IndexController
 {
    function __construct()
    {
        require_once("view/index.php");
    }
    function actionHello()
    {
        $hello = "Hello World";
    }
}

config/router.php

class Router 
{

    private $url;

    public function render()
    {
        if (isset($_GET["url"])) 
        {
            $this->url = rtrim($_GET["url"]);
            $this->url = explode("/" , $_GET["url"]);
            $className = ucfirst($this->url[0])."Controller";
            $controllerFile = "controller/" .$className .".php";
            print_r($url);
            if (file_exists($controllerFile)) 
            {
                require_once($controllerFile);
            }
            else
            {
                if(!file_exists($controllerFile))
                {   
                    require_once("controller/ErrorController.php");
                    $controller = new ErrorController();
                    return false;
                }
            }
            $object = new $className;
            if (isset($this->url[1])) 
            {  
                $actionName = "action".ucfirst($this->url[1]);
                $object->$actionName();
            }
        }
    }
}

template/style.css стили не работают

 *{box-sizing:border-box;}
  body
  {
      font-size:100%;
      font-weight:normal;
  }
  body >h1{color:red;}

.htaccess

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule  ^(.*)$ index.php?url=$1 [QSA,L]

project/index.php

    header("Pragma: no-cache");
    ini_set("display_errors",1);
    error_reporting(E_ALL);

    require_once("config/Router.php");
    $router = new Router();
    $router->render();
READ ALSO
Оптимизировать подзапрос в MySQL

Оптимизировать подзапрос в MySQL

Какие могут быть способы оптимизировать вот такой вот подзапрос в left join?

149
Ошибка развертывания web-приложения Tomcat

Ошибка развертывания web-приложения Tomcat

Создается многомодульный проект maven, где два модуля имеют еще несколько дочерних модулей, - один из которых содержит пакеты и классы общие...

181
Простейший сервис на спринг

Простейший сервис на спринг

у меня есть документ с кнопками и обработчик событий, как построить сервис на спринге который будет получать от кнопки поле int с ее номером...

179
java.lang.NullPointerException в JavaFX

java.lang.NullPointerException в JavaFX

У меня есть небольшой проект на JavaFXМне нужно что бы текст, который я ввожу в TextField считывался и по нажатию кнопки выводился в консоль

151