Чтобы включить необработанные файлы JavaScript на мои страницы, я использовал:
function include_js($jsfile, $basepath = JSPATH){
echo '<script type="text/javascript">';
include($basepath . $jsfile);
echo '</script>';
}
Работает нормально, и код PHP внутри этих файлов JS по-прежнему работает нормально, здесь нет проблем.
Но вот некоторый псевдокод того, что я использовал раньше:
<script>
var hello = '<?php echo $id; ?>';
</script>
Итак, вот в чем проблема:
- Раньше код PHP, используемый внутри моих файлов JavaScript, выполнялся в том же контексте, что и страница.
- Теперь он выполняется в контексте функции
include_js()
.
Таким образом, у меня больше нет доступа ни к одной из переменных моей страницы. Я мог бы исправить это с помощью global $id;
, но это был псевдокод.
На самом деле, я понятия не имею, к каким переменным мне нужно иметь доступ.
Есть идеи, как решить эту проблему? Если у вас есть лучшее решение, чем то, что я на самом деле делаю внутри include_js()
, для достижения той же цели без проблем, о которых я говорю, это было бы очень важно!