Я работаю над проектом, в котором много JavaScript. Я думаю, что генерировать простые строки и помещать их между тегами <script> – это не лучший способ сделать это.
Существуют ли какие-либо более эффективные подходы к созданию объектов JavaScript, функций, вызовов и т. Д.? Может быть, некоторые конверсионные классы (от PHP до JavaScript) или, возможно, есть шаблоны проектирования, которые я должен соблюдать?
PS. Если это имеет значение – я использую MooTools с MochaUI (с MochaPHPControl).
Заранее спасибо за помощь.
Лучший подход – подумать Javascript как PHP-код.
Основные этапы:
require "script/$file"
) Например, добавьте в свою .htaccess эту строку:
RewriteRule \.js$ index.php
В вашем файле index.php поместите что-то вроде этого:
// Process special JS files $requested = empty($_SERVER['REQUEST_URI']) ? "" : $_SERVER['REQUEST_URI']; $filename = get_filename($requested); if (file_ends_with($requested, '.js')) { require("www/script/$filename.php"); exit; }
И, наконец, в файле file.js.php вы можете встроить PHP, использовать параметры GET и POST и т. Д .:
<?php header("Content-type: application/x-javascript"); ?> var url = "<?php echo $url ?>"; var params = "<?php echo $params ?>"; function xxxx().... ....
Кроме того, трюк для пропуска кеша файлов заключается в том, чтобы добавить случайное число в качестве параметра javascript:
<script type="text/javascript" src="scripts/file.js?a=<?php echo rand() ?>"></script>
Кроме того, как сказано в комментарии, если ваш веб-сервер не позволяет изменять .htaccess
, вы можете просто запросить непосредственно файл PHP:
<script type="text/javascript" src="file.php"></script>
Я пытался сделать свой сервер вызовом API и встроить его в html, чтобы иметь javascript-процесс. Конечно, поставьте все, что хотите, в эхо.
<?php // a_local_file.php Header("content-type: application/x-javascript"); echo file_get_contents('http://some_remote_script'); ?>
И используйте это, чтобы ссылаться на него в HTML …
<script type="text/javascript" src="a_local_file.php"></script>
Вызов api должен возвращать действительный javascript, в противном случае добавить то, что вам нужно, чтобы сделать его действительным; это часто неприятная часть работы с json из вызовов api. Может быть полезно использовать строчки, обрезки и другие строковые функции .. но часто надоедливые инопланетные символы просачиваются и могут устанавливать ошибки php на основе вашей настройки php.
Вы можете проверить json_encode
и json_decode
.