Например:
$(document).ready(function(){ $('.selector').click(function(){ <?php // php code goes here ?> }); });
Это вызовет проблемы или замедлит страницу? Это плохая практика? Есть ли что-то важное, что я должен знать об этом?
Благодаря!
Если вы пытаетесь связать некоторый PHP-код с событием click, это невозможно в том, как вы пытаетесь, и PHP-код будет выполнен, как только загрузка страницы, не дожидаясь события клика.
Если вы пытаетесь создать окончательный код javascript или jquery с помощью PHP, тогда все в порядке.
Это не замедлит страницу; PHP работает на сервере и испускает текст, который отправляется в браузер, как на любой странице PHP. Это плохая практика? Я бы не сказал «плохо» обязательно, но не очень. Это приводит к беспорядочному коду – в случае, когда мне нужно что-то делать, я обычно пытаюсь разбить его, как в:
<script> var stuff = <?php print $stuff; ?>; var blah = "<?php print $blah; ?>"; // Do things in JS with stuff and blah here, no more PHP mixed in </script>
PHP выполняется на сервере, а затем javascript будет выполнен на клиенте. Итак, что вы будете делать здесь, это использование php для генерации javascript, который станет телом функции. Если это то, что вы пытались сделать, нет ничего плохого в этом.
Если вы считаете, что собираетесь использовать код PHP из javascript, значит, вы ошибаетесь. Вам нужно будет поместить код PHP на отдельную страницу и использовать запрос ajax для получения результата.
Конечно, если вы помните, что PHP-код будет выполняться сервером до отправки страницы . Кроме этого, получайте удовольствие.
у вас есть лучший выбор для использования ajax, который запускает php-скрипт, когда вы обрабатываете событие click
$(document).ready(function(){ $('.selector').click(function(){ $.ajax({url:"phpfile.php",type:"POST", data:"datastring="+value+"&datastring2="othervalue, ,success:function(data){ //get the result from the php file after it's executed on server } }); }); });
PHP – это «бэкэнд», а javascript – «внешний интерфейс». Короче говоря, до тех пор, пока PHP-код загружается через веб-сервер, который понимает PHP, недостатком является то, что вам нужно встроить JS, потеряв способность кэширования (есть обходные пути для анализа php в .js-файлах, но вы не должны действительно сделай это). Для пользователя он будет выглядеть как javascript и HTML. Вот порядок серверов:
Просто убедитесь, что PHP выводит действительный JavaScript.
Нет, это не так. До тех пор, пока вы знаете, что JS выполняется после анализа страницы PHP.