Переменные из Include

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

Frol

Новичок
Переменные из Include

Делаю инклуд файла, в котором идет продолжение работы с объектом.
Как мне сделать чтобы "инклуженный" файл видел переменные из "родительского" файла и мог их изменять?

Буду благодарен за все ответы.
Даже за ссылки чтобы почитать :D

--- дописано ----
использую РНР4.3.0
 

BigDaddy

Guest
Ну и в чем же проблема? Берешь и обращаешься к ним (переменные должны быть определены выше инклуда), изменяешь их и тд.
 

BigDaddy

Guest
Как так?
У меня работает так:
file1.php
<?
$my = new my_class;
include("file2.php");
..........

file2.php:
<?
$my->my_method();
 

Frol

Новичок
Берешь и обращаешься к ним (переменные должны быть определены выше инклуда), изменяешь их и тд.
PHP:
// --- file.php ----
<?
$tpl =& new template();
...
include 'include.php';
...
?>

// --- include.php ---
<?
$tpl->add( ... );
...
?>
А он мне типа я обращаюсь к неизвестномк объекту или к не объекту.
В чем грабли? :(
 

BigDaddy

Guest
Все правильно - данный способ не работает с указателями. Если уберешь & все будет работать.
 

Frol

Новичок
Стоп машина!
Убрал, все равно выдает ошибку!

ЗЫ РНР уже версии 4.2.3
 

BigDaddy

Guest
Да, поспешил я с выводом.... Действительно, разницы быть не должно - переменная или референс....
 

BigDaddy

Guest
When a file is included, the code it contains inherits the variable scope of the line on which the include occurs. Any variables available at that line in the calling file will be available within the called file, from that point forward.
Референс тоже должен бы работать...
 

gRigoriy

Новичок
Попробуй require(). У меня вроде бы тоже было, что скрипт не видел переменных. Научного обоснования этому факту я незнаю, но уменя работает с рекуире.
 

Frol

Новичок
Спасибо всем!

Странно комп видимо заглючил :)
Проблема исчезла также внезапно, как и появилась. :(
 

RU$LAN

Guest
ИМО.
инклуде работает как бы образно говоря на "уровне текста"
ему абсолютно пофиг что инклудить...
так что должно работать...


ЗЫ. Дерни Апач он и перезагрузится..:)
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху