Ошибка include при отправки пути до файла через переменную, почему возникает и как решить?

Использую CodeIgniter в качестве фреймворка, в шаблоне имеется тег {CONTENT}, отправляю его в шаблон так:
$this->tp->assign('CONTENT', APPDIR . "/views/contents/main.html");

в самом шаблоне:
include('{CONTENT}');
где APPDIR - полный путь до application
в итоге получаю ошибку php о том, что файл не существует, хотя путь в выводе ошибке отображается правильно.
CHMOD на шаблон, инклюд и контроллер - 644.
Если в шаблоне целиком пропишу абсолютный путь, т.е:
include("path/main.html");
то работает(но это не подходит, т.к тогда надо создавать отдельный шаблон под каждую страницу, а хотелось бы менять {CONTENT}). Прошу, помогите.

P.S: Сделаны изменения по статье на Хабре.

Всем, кто говорит, что не может быть такого: 4c2059539eb741228fae5ceb240fa695.jpg
  • Вопрос задан
  • 2409 просмотров
Решения вопроса 1
@D3fault_Player Автор вопроса
Вопрос решен. Передал в {CONTENT} переменную $content, которую представил так(знаю, что костыль из костылей, но все-же работает, а наличие переноса строки там не очень принципиально, т.к html ведь):
$content = file_get_contents(APPDIR . "/views/contents/main.html");
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
dmitriylanets
@dmitriylanets
веб-разработчик
Если я не ошибаюсь переменные должны применяться после того как будет сформирован весь шаблон, с под шаблонами, соответственно на моент include('{CONTENT}'); данная переменная еще не известна.
Ответ написан
FanatPHP
@FanatPHP
Чебуратор тега РНР
в итоге получаю ошибку php о том, что файл не существует, хотя путь с ошибке отображается правильно.

так не бывает.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы