Всем доброго времени суток! Продолжаем создавать наш движок и выводить странички нашего сайтика!
Всем доброго времени суток! Продолжаем создавать наш движок и выводить странички нашего сайтика!
Откроем файл paths.txt и определим там нужные нам константы
<?php
define('URL', 'http://engine.local/');
?>
Теперь изменим наш вид. Перейдем в файл header.php
//...
<link rel="stylesheet" href="<?php echo URL; ?>/public/css/default.css">
//...
И проделайте то же самое с подключением скриптов.
Теперь, если вы перейдете по ссылке
http://engine.local/help/other/
То увидите, что наш вид также отображается корректно. Таким образом мы решили проблему с путями, указав абсолютный путь. Плюс, теперь мы сможем легко его изменить, поменяв всего лишь одну константу.
Откроем контроллер help.php
<?php
public function __construct() {
parent::__construct();
}
public function index() {
$this->view->render('help/index');
}
?>
Т.е. что мы сделали: мы скопировали абсолютно все, кроме вызова родительского конструктора из конструктора и вставили в новый метод - index. Сделайте то же самое со всеми другими контроллерами.
Теперь откроем файл bootstrap.php и там, после вызова контроллера Index, вставим вызов метода index.
// ...
$controller = new Index();
$controller->index();
// ...
Теперь здесь же изменим проверки // ...
$controller = new $url[0];
if(isset($url[2])) {
if(method_exists($controller, $url[1])) {
$controller->{$url[1]}($url[2]);
} else {
echo 'Error!';
}
} else {
if(isset($url[1])) {
$controller->{$url[1]}();
} else {
$controller->index();
}
}
// ...
Откроем контроллер index.php
public function index() {
echo 'INSIDE INDEX INDEX';
}
public function details() {
$this->view->render('index/index');
}
Но у нас теперь возникла опять же проблема с путями при переходе по ссылкам. Добавьте перед ссылкой на страницу вывод константы URL.
<a href="<?php echo URL; ?>index"></a>
На этом закончим, а в следующей статье продолжим решать возникшие проблемы и выводить страницы.
