parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

Rafael 15.11.2007 21:05

Приведу кусок кода сбощика модулей:

Выбираем модуль из базы данный по его имени (для проверки)
$selMethod[^MAIN:pSQL.table{
	SELECT *
	FROM
		components
	WHERE
		name="$method"
}]
если метод найден в базе...
^if($selMethod){
	^rem{подключаем файл класса метода}
	^use[${selMethod.lib}.p]

$hashData[
	$.auth[$auth]
	$.lang[$curLang]
...
]
$objMethod[^process{^^${selMethod.lib}::init[^${hashData}]}]

^rem{динамически вызываем метод по имени}
^objMethod.[$method][$m_data]
У меня в базе хранятся названия методов, которые используются на страницах и имена классов, в которых они находятся. Я динамически создаю класс по названию из базы и динамически-же вызываю метод.

Все работает без сбоев.