работа одного скрипта в другом (инклуда мало!!!??)

terrakot

Новичок
работа одного скрипта в другом (инклуда мало!!!??)

Итак, есть некая смысловая конструкция кода состоящая из трех файлов, так называемая модель MVC: файл .php1 - создает объект класса из .php2 + дебаг, и шаблон .xsl который учавствует в формировании страницы (xml-парсинг).
Раньше вызов скрипта осуществлялся таким образом - .php1?id=1&table=mytable&bd=mybd&form=myform
После отработки отображалась одна формочка по обозначенному юзером объекту. Теперь условие изенилось: надо вызвать аттрибутивную форму для нескольких объектов. Т.е. в принципе указанный скрипт должен отработать несколько раз, выдать в буфер xml - вывод c помощью которого (+.xsl) я сформирую страничку. И урл теперь изменился на php3?id=1,2,3,4&table=mytable,table2,table3&bd=mybd,bd2,bd3&form=myform,form2,form3,
где .php3 есть мой скрипт, который по идее должен переработать переданные данные и вызвать в цикле работать .php1 c теми параметрами, при которых он работает, получить в буфер его работу и сформировать страницу.
Так вот, инклуд (include) не помогает. Предполагаю, что из непродуманности логики.

Код такой
PHP:
function GetObjToUrl($Arr) {


		$keys = $_REQUEST[Key];
		$keys = split(',', $keys);
		ForeachArray($keys);

}


function ForeachArray ($Arr){

ob_start();
	foreach ($Arr as $key => $value){
	include_once ('.php1');
	echo $value."</br>";
	}
	$c = ob_get_contents();
	ob_end_flush();
	echo $c;

}

GetObjToUrl ($_REQUEST);

/* дано для примера, выполняется в GetObjToUrl()
$key = $_REQUEST[Key];
$tab = $_REQUEST[TabName];
$coltype = $_REQUEST[ColType];
$colname = $_REQUEST[ColName];
$dsname = $_REQUEST[DSName];
$key = split(',', $key);
$tab = split(',', $tab);
$dsname = split (',', $dsname);
$colname = split (',', $colname);
$coltype = split (',', $coltype);
*/
Здесь я не понимаю, в какой из циклов мне поставить include('.php1'), чтобы он отрабатывал с уже разобранными параметрами? Точнее, чтобы он их получил?
Еще: что требуется пояснить в данном вопросе для большей ясности (учусь задавать вопросы)?
 

С.

Продвинутый новичок
Ну так и готовь соответствующие $_GETы, которые ожидает твой php1.

А еще лучше подправить php1, поместив код в функцию (с аргументами) и подключать один раз.
 

terrakot

Новичок
Гм... куда его воткнуть я разобрался. Возникла более насущная проблема, кажется для спецов. include() работать не хочет, ругается, что не может редекларировать функцию. require тож. includ_once выполняется только один раз. Eval(), как и include.
Т.е., как я понимаю, надо как-то чистить адресное пространство после каждого цикла. Или менять алгоритм.
Вопрос: с помощью чего, можно постирать namespace? может есть какие-то переменные пхпевые?
 

terrakot

Новичок
Потому, что каждый параметр - массив, а надо, чтобы .php1 отрабатывал с каждым значением из этого (получается, этих) массивов. Мне надо его не просто "включить", а заставить работать сначала с параметрами1, потом параметрами2 и т.д., забирая после каждой засылки результат его работы (т.е. результат1 + результат2 и т.д.).
Поэтому одного раза мало, или я не понял вопроса.
 

dimagolov

Новичок
сделай ф-ю, параметром которой передавай массив. определение ф-ии подключаешь один раз, вызываешь столько, сколько требуется и с теми параметрами, которые требуются
 
Сверху