Вначале проект находился в этой дир: ''D:/sites/mysite.local/'
start.php
<?php
// описываем конст. и где подкл.файлы set_include_path(get_include_path().PATH_SEPARATOR.'core'.PATH_SEPARATOR.'controllers'); // функция автозагр.классов
// et_include_path() - прописан в php.ini далее ук.что ещё в папке core и controllers нужно поискать
spl_autoload_extensions('_class.php'); // расширения классов кот.нужно искать
spl_autoload_register();
define('DIR_TMPL', 'D:/sites/mysite.local/tmpl/');
define('MAIN_LAYOUT', 'main'); // общий вид страницы
?>
Файл view_class.php в папке 'core' (D:\sites\mysite.local\core\view_class.php)
<?php
class View {
private $dir_tmpl; // сво-во ук.путь к дир.
public function __construct($dir_tmpl) { // приним.путь к дир.
$this->dir_tmpl = $dir_tmpl; // записыв. его в сво-во обьекта
}
// принимаем tmplфайл для вывода:
public function render($file, $params, $return = false) {
$template = $this->dir_tmpl.$file.'.tpl'; // получаем путь к файлу полный - дир. имя файла. .tpl- все файлы будут иметь такое расш.
extract($params); // передаём все парам. функция позв. преобраз. массив из п.11 в перем. пример: а=7 b=9 перем-а, b / эл.с ключём title в arr преобр.в перем. которая передаётся в main.tpl
ob_start(); // запускаем входной поток (трубу)
include($template); // подкл. получивш.файлик с конечной строкой в буфере
// либо возвр.стр либо вывод в брауз.:
if ($return) return ob_get_clean(); // если return мы берём строку из трубы буфера и заодно очищаем. т.е. возвр.сод.буфера
echo ob_get_clean(); // если return не указ. то вывод стр. и очищ.буфера.
}
}
?>
И если дир. сменилась 'D:\sites\mysite.local\mvc'
в start.php указываю: 'define('DIR_TMPL', 'D:/sites/mysite.local/mvc/tmpl/');'
как правильно подключить папку 'tmpl', что изменить во view_class.php?