Проблем с include в class

StormBreaker

Registered
Имам малък проблем с обхватите на променливите. Имам клас, който инклудва php скриптове. Искам променливите, зададени от тия скриптове да могат да се ползват и извън тоя клас.

class test
{
public function test()
{
include 'inc.php';
}
}

$t = new test();

echo $var; // ето тук искам да мога да си взема променливата.

inc.php каза:
$var = "test";

ПП. global във функцията няма да ми свърши работа, защото променливите в inc.php може да са много и аз не им знам имената :)

ПП2. Ако има начин да се инклудне това чрез класа, но извън него очаквам предложения.
 
Направи тези скриптове на класове ?
За какво ти е да инклуднеш отделни парчета код в енкапсулиран клас ?
И още един въпрос - как ще викаш променливите след като не им знаеш имената ?
 
Променливите ги променяш от $prom = "asd"; в $GLOBALS['prom'] = "asd";
и след инклуда пишеш само echo $prom;
Имах същия проблем като твоя, ако те интересува да ти дам линк към темата ми в един друг форум да видиш за други решения, аз лично го реших така :)
 
@Rado правя си модул система и тези откъснати парчета код мога да ги махам по всяко време и да слагам нови. Те не са реално свързани с класа. Той само има за задача да ги издири и инклудне. $GLOBALS не искам да използвам, защото се старая да не изисквам в тия модули някакъв специален начин на писане на кода, въпреки, че тая система си я правя само за мен.

Сетих се за нещо такова, ако нямате други предложения.
class test
{
var $masiv = array();

public function test()
{
// tuka cikala deto gi namira
foreach (....)
$masiv[] = 'inc.php';
}
}

$t = new test();

foreach ($t->masiv as $inc)
include $inc;

echo $var; // така вече ще мога да си я взема тая променлива.
 
relax каза:
Ами според мен вече се обезсмисли класа...

Не се е обезмислил. Така ти се струва, защото не съм дал другите 300-400 реда код.
 
StormBreaker каза:
relax каза:
Ами според мен вече се обезсмисли класа...

Не се е обезмислил. Така ти се струва, защото не съм дал другите 300-400 реда код.

Тогава по-може... иначе никъв не ти е проблема да инклуднеш нормално :D
 

Горе