Создание движка на MVC. Выводим страницы. Часть 2.
Здарова всем. Сегодня мы продолжим создавать наш движок на php и mysql.
Для начала изменим наш файл инициализации - bootstrap.php.
$url = isset($_GET['url']) ? $_GET['url'] : null;
Таким образом мы сделали проверку на существование url. Если его нет - null. Ниже добавим проверку на существование url, и если его нет, то перекинем на index контроллер.
<?php
// ...
$url = explode('/', $url);
if(empty($url[0])) {
require 'controllers/index.php';
$controller = new Index();
return false;
}
?>
Теперь, если ничего нет, то мы будем видеть отработку index контроллера.
Перейдем теперь к виду. Откроем наш файл header.php и вместо того, что там сейчас, пропишем следующее:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Test</title>
<link rel="stylesheet" href="public/css/default.css">
</head>
<body>
<div id="header">
header
</div>
<div id="content"></div>
Смотрите! У нас подключается файл default.css, который лежит в папке public/css.
Откроем файл index.php в папке error. Там у нас следующее:
<?php require 'views/header.php'; ?>
<hr>
<?php echo $this->msg; ?>
<?php require 'views/footer.php'; ?>
Создадим файл index.php в папке views/index и туда скопируем все то же самое.
Создадим в папке views файл footer.php
</div>
<div id="footer">
© Footer
</div>
</body>
</html>
Теперь откроем файл index.php в папке controllers и в конструктор добавим вызов метода render
<?php
$this->view->render('index/index');
?>
Создадим теперь папку public в корне нашего сайта и там создадим папку css.
Внутри создадим файл default.css.
body {
background: silver;
}
#header {
padding: 20px;
background: gold;
}
#content {
background: #fff;
padding: 20px;
}
#footer {
background: green;
padding: 20px;
}
Теперь посмотрим на нашу CMS и видим, что она становиться уже на что-то похожа :)
Создадим внутри папке public еще папки images для картинок и js для скриптов javascript.
Внутрь папки js поместим файл jquery.js, содержащий код библиотеки JQuery. Скачать ее можно на сайте jquery.com, если кто не знает, и создадим файл custom.js
Внутри файла header.php после подключения стилей пропишем подключение jquery и custom.
<script src="public/js/jquery.js"></script>
<script src="public/js/custom.js"></script>
Теперь в файле header.php, между тегами div с id=header, создадим навигацию.
<div id="header">
<br>
<a href="index">Index</a>
<a href="help">Help</a>
<a href="login">Login</a>
</div>
Итак, на этом закончим на сегодня. У нас уже есть оформленная страница, которая даже работает. Также, есть навигация, но она еще недоработана. В следующей статье мы продолжим оформлять страницы. Удачи!
-
- Михаил Русаков
Комментарии (2):
Мне не понятны первые строки: $url = explode('/', $url); if(empty($url[0])) { require 'controllers/'.$url[0].'.php'; $controller = new Index(); return false; } Это как? Если у нас в урле пусто empty($url[0]) то давайте мы подключим такой файлик require 'controllers/'.$url[0].'.php'; И пофиг что там пусто ... Их возможно так стоило реализовать ?? $url = isset($_GET['url']) ? $_GET['url'] : null; if (!empty($url)) { // если есть путь, то обрабатываем его $url = rtrim($url, '/'); $url = explode('/', $url); } else $url[0] = 'index'; // Подключение контроллера $file = 'controllers/' . $url[0] . '.php'; С уважением Михаил!
Ответить
Да, ошибка, спасибо! Там, конечно же, должно быть подключение индексного файла.
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.