Доброе утро, уважаемые комрады. По глупости и наивности своeй начал писать модульную систему, однако за неимением опыта получается вполне не так, как ожидалось...
Структура:
| Код | /mods/FolderName/mod.php // файл описания модуля /mods/FolderName/exe.php // главный исполняемый файл модуля /libs/core.php // Ядро /index.php // Индекс
|
/libs/core.php
| Код | $modules = array(); foreach(scandir($config['mods_dir']) as $dir) { if(is_dir($config['mods_dir'].'/'.$dir) && file_exists($config['mods_dir'].'/'.$dir.'/'.$config['mods_main']) && file_exists($config['mods_dir'].'/'.$dir.'/'.$config['mods_conf'])) { require_once($config['mods_dir'].'/'.$dir.'/'.$config['mods_conf']); $modules[$dir]['path'] = $dir; $modules[$dir]['name'] = $module['name']; $modules[$dir]['description'] = $module['description']; $modules[$dir]['template'] = $module['template']; $modules[$dir]['fullpath'] = $config['mods_dir'].'/'.$dir.'/'.$config['mods_main']; } }
|
/mods/FolderName/mod.php
| Код | $module['name'] = 'Трекер'; $module['description'] = 'Тут живет лось =)'; $module['template'] = 'tracker';
|
/mods/FolderName/exe.php
| Код | function show_rec($profa_id) { global $db; return $db->select('SELECT * FROM item_template WHERE item_template.class = 9 AND item_template.subclass = ? ORDER BY item_template.RequiredSkillRank ASC', $profa_id); }
if(!isset($_GET['p_id'])) { $prof = htmlspecialchars($_GET['p_id']); foreach($data['profs'] as $profa => $profa_id) { echo '<a href="'.$_SERVER['php_self'].'?mode='.$_GET['mode'].'&p_id='.$profa_id.'">'.$profa.'</a><br />'; } } elseif(isset($_GET['p_id'])){ $p_id = (int)$_GET['p_id']; $recipes = show_rec($p_id); var_dump($recipes); }
|
index.php
| Код | include('libs/core.php'); if(!isset($_GET['mode'])) { echo 'lol'; } else { $mode = htmlspecialchars($_GET['mode']); if(array_key_exists($mode, $modules)) { require_once($modules[$mode]['fullpath']); } }
|
Проблема: При передаче в модуль GET-запроса вида index.php?mode=FolderName&p_id=x этот самый p_id не определяется.
Намекните тонко на место где я просчитался 
Заранее благодарен, Тумс.
UPD: Уважаемые комрады, извиняйте. После непонятно каких действий почему-то всё заработало. Спасибо за внимание.
|