stiff
Новичок
CMS: Как вы реализовываете подключаемые модули?
Хотелось бы услышать у людей, разрабатывающих CMS, как они реализуют подключаемые "модули"?
Под модулем я подразумеваю центральную часть страницы. Вернее код, который сгенерирует эту часть.
У меня на данный момент сделан отдельный каталог с файлом main.php. При необходимости он инклудиться и из него вызывается ф-ция plugin_main()
Как вы думаете это "правильный" подход или можно сделать как-то по-другому?
С этим подходом я столкнулся с проблемой расширяемости. Когда модуль разрастается за 1к строк перемешаться в нем становиться неудобно. Побывал решать эту проблему через include:
но при этом переменная $i "не видна" в somefile.php...
Хотелось бы услышать у людей, разрабатывающих CMS, как они реализуют подключаемые "модули"?
Под модулем я подразумеваю центральную часть страницы. Вернее код, который сгенерирует эту часть.
У меня на данный момент сделан отдельный каталог с файлом main.php. При необходимости он инклудиться и из него вызывается ф-ция plugin_main()
PHP:
function plugin_main()
{
global $_httppatch, $params, $_shellpatch;
$casekey = isset($params[1])?$params[1]:false;
switch (true) {
case 'abc.asp' == $casekey:
break;
case 'index.html' == $casekey:
case '' == $casekey:
break;
default:
return show_notfound();
}
}
С этим подходом я столкнулся с проблемой расширяемости. Когда модуль разрастается за 1к строк перемешаться в нем становиться неудобно. Побывал решать эту проблему через include:
PHP:
case 'abc.asp' == $casekey:
$i=1;
include(somefile.php);
break;