, чтобы быть ясным, я не прошу как создать JS-переменную или функцию из PHP, скорее я спрашиваю о правильном пути или лучшей практике для этого.Как правильно создать переменную JavaScript и вызвать функцию из PHP
У меня есть некоторые переменные PHP, которые мне нужно использовать в JavaScript для внесения некоторых изменений позже, мне также нужно запустить JS-функцию, когда эти переменные инициализируются.
Самый очевидный способ сделать это, чтобы добавить <script>
метку и введите свою информацию JS там, следующим образом:
?>
<script>
$(document).ready(function() {
var my_js_string = <?php my_php_string ?>
my_js_function();
});
</script>
<?php
Таким образом, у меня есть глобальный JS вар и функция работает в документе. готов.
Однако это кажется неправильным. Если мне нужно создать несколько переменных JS из PHP, код будет раздутым со сценариями и document.ready (s) повсюду. Даже когда document.ready не требуется, инициализация многих глобальных переменных JS с использованием этого метода делает код намного сложнее читать и отлаживать. Наличие JS-глобалов - плохая практика. Плюс, что, если это конфиденциальная информация? Вы не хотите, чтобы он плавал как глобальный, к которому может обратиться любой.
Любые рекомендации по лучшей методологии?
Один из вариантов, о котором я думал, - это создание событий, заполнение событий информацией, а затем извлечение их из соответствующего .js-файла, создание локальных переменных, но это может вызвать одну и ту же проблему, много ненужных событий, плавающих вокруг.
Еще один способ, по-моему, состоит в том, чтобы создавать элементы HTML, содержащие данные, либо в виде обычного текста, либо как атрибуты data-
или любой другой метод. Это хорошая практика в некоторых случаях, но я не думаю, что это лучший способ, когда у вас много переменных или переменные содержат конфиденциальную информацию, которую вы не хотите показывать в DOM.
Если это дублирующийся ответ или вы можете направить меня к соответствующим статьям, которые касаются этого, я был бы признателен, поскольку я не знал, как правильно искать это и не мог найти хорошие ресурсы.
Получите конфиденциальную информацию через AJAX. – JustOnUnderMillions
Но «доступ к любому из них» - это то, как работает javascript. Откройте с помощью консоли разработчика F12' в браузере, вы можете видеть и получать доступ к тому, что вы найдете (и манипулировать/изменять его [также сам код]). Keep in Mind: НИКОГДА НЕ ДОЛЖЕН ПОЛЬЗОВАТЬСЯ ПОЛЬЗОВАТЕЛЕМ – JustOnUnderMillions
Это правда. AJAX, а затем удалить информацию после ее использования. Я думаю, что AJAX - это способ пойти, спасибо @JustOnUnderMillions –