Контроллеры в архитектуре MVC не работают должным образом? - PullRequest
0 голосов
/ 26 марта 2019

Итак, вот моя проблема:

Пару дней назад я узнал, что такое архитектура MVC, и попытался создать маленький сайт.

Весь сайт работал до того, как я попробовал mvc

Я создал такой индекс:

    <?php

    include 'init.php';

    ob_start();

    if (!empty($_GET['p']) && is_file('controllers/'.$_GET['p'].'.php'))
    {
        include 'controllers/'.$_GET['p'].'.php';
    }
    else
    {
        include 'controllers/home.php';
    }

    $content = ob_get_clean();

    include 'views/html_start.php';

    echo $content;
    ?>

"init.php" - файл, содержащий определения и идентификаторы базы данных

"html_start.php" содержит базовый html, чтобы начать каждую страницу с остановки <body>

"index.php" находится по адресу:

/

У меня также:

/ вид /

/ Контроллеры /

/ модель /

Когда я попытался просто включить представление моего "home.php", все работало, и код был включен.

"/views/home.php":

<?php if (!(isset($_SESSION['id']))) { ?>
<span class="index_welcome_text p-4">Welcome</span>
<?php } else { ?>
<a href="index"><button type="submit" class="btn btn-dark index_welcome_text 
p-4" style="background-color: #1e4a42">Website</button></a>
<?php } ?>

Итак, не очень большие трудности здесь, все отображалось и работало

НО, когда я попытался включить контроллер, включая представление, больше ничего не появлялось.

"/controllers/home.php":

<?php

include '../views/home.php';

Обратите внимание, что я только что что-то тестировал, так что да, в файлах ничего нет

1 Ответ

0 голосов
/ 26 марта 2019

Решено,

Ошибка была путём в файле controllers/home.php, так как этот путь относится к index.php, а не к controllers / home.php.

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