объект инклудящий файлы, область видимости

Статус
В этой теме нельзя размещать новые ответы.

snitko

Новичок
объект инклудящий файлы, область видимости

Столкнулся тут с проблемой, не могу понять как решить.
Задача состоит в следующем: необходимо инклудить файлы при помощи метода объекта. Например:
PHP:
$partViewer->view('parts/template');
соответственно упрощенный метод view() выглядит примерно следующим образом:
PHP:
function view($file) {
   include(PATH.$file.'php');
}
Проблема в том, что файл инклудится в область видимости метода view(), а очень надо, чтобы он инклудился в ту же область видимости, где создан объект $partViewer. Реально ли вообще такое?

Глянул в поиск, ничего толком кроме этого не нашел, да и там мутно.
 

HraKK

Мудак
Команда форума
Ты не правильно что-то думаешь. Что находится в том файле что инклудится?
 

snitko

Новичок
Что находится в том файле что инклудится?
Переменные, которые должны быть в той же области видимости, что и объект $partViewer

И я своими глазами видел, что такое пользуется.
 

HraKK

Мудак
Команда форума
где пользуется?

Какие переменные? Что в них?
 

HraKK

Мудак
Команда форума
В шаблонах, не надо определять переменные которые должны быть видны за за пределами шаблонов. Ясно?
 

snitko

Новичок
Я предлагаю посмотреть на это с другой стороны. Я не определяю переменные которые должны быть видны где-то еще. Просто инклудится шаблон не туда, где они должны быть видны. Это понятно?
 

snitko

Новичок
Да. Каким образом return может помочь? Мне нужно чтобы файл инклудился куда следует, а не значение возвращал.
 

HraKK

Мудак
Команда форума
а куда следует?
Туда куда ты хочешь не следует
PHP:
$templateHTML = $partViewer->view('parts/template');


function view($file) { 
return include(PATH.$file.'php'); 
}
 

snitko

Новичок
Угу, я пробовал ) Возвращает текст и в браузер выводится php-код.
 

snitko

Новичок
Да, гоню. Это я там что-то экспериментировал, поэтому код выводился в браузер. Сейчас еще раз сделал как ты написал - выдал undefined variable. То бишь код опять инклудится внутрь view().
 

snitko

Новичок
Ну понятно. Только объясните мне каким образом приведенный пример оказался в codesearch и какова логика его работы там? Наверняка есть какие-то общеизвестные решения?
 

Фанат

oncle terrible
Команда форума
каким образом появился пример в codesearch, надо спрашщивать у гугля.
никаких общеизвестных решений нет.

если ты будешь продолжать тупо долбить один и тот же вопрос после того, как тебе указали на его бессмысленность, и не будешь пытаться вести конструктивный диалог с тем, чтобы найти осмысленное решение, то ты составишь о себе очень неблагоприятное впечатление здесь.
А людьми, которые оставляют о себе неблагоприятное впечатление, здесь предпочитают не общаться.

Внутри класса у тебя есть $this. Какие проблемы обратиться к ней?
 

HraKK

Мудак
Команда форума
*****
Да ему не надо $this.
Он что-то определяет или делает в шаблоне, не понимая что такое шаблон.

snitko
Что за переменную ты там определяешь и зачем ты пытаешся ее увидеть потом?
 

snitko

Новичок
если ты будешь продолжать тупо долбить один и тот же вопрос после того, как тебе указали на его бессмысленность
Нет, я, в общем-то, не собирался долбить один и тот же вопрос. Я так понял, что мне необходимо найти способ собирать шаблон таким образом, чтобы все переменные из него были в одной области видимости, но обойтись при этом без повторения include(). Буду думать как это сделать.
 

HraKK

Мудак
Команда форума
snitko
Ты неправильно понял.
Тебе надо все навсего вести со мной далог. Ты знаешь что это такое? Либо ты отвечаешь на вопросы, либо идешь думать сам как это сделать.
решай.
 

Фанат

oncle terrible
Команда форума
Хм.
snitko
тебе действительно нужны именно "переменные ИЗ шаблона"?
А не в шаблон?
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху