我想将 JS 代码片段从 PHP 文件中移出并移到它们自己的文件中,以使代码更清洁且更易于维护。例如,我有这个功能:
function load_script($fieldname)
{
return
'var help = function () {alert(' . '"EDITOR HELP:\n\n' .
'blah blah.\n\n' .
'more blah blah.\n\n' .
');}' . "\n" .
'var options = { handler: help, title: "Editor help" };' . "\n" .
'var converter = Markdown.getSanitizingConverter();' . "\n" .
'var editor = new Markdown.Editor(converter, "-'.$fieldname.'", options);' . "\n" .
'editor.run();' . "\n";
}
注意$fieldname
PHP 变量。
这个想法是将 JS 部分存储在 .js 文件中。然后我将它作为纯文本读入,以便在 return 语句中输出。换句话说,是这样的:
function load_script($fieldname)
{
$output = file_get_contents("load_script.js");
return $output;
}
显然问题是这不会$fieldname
用相应的值代替。
我目前对此的想法是$output
通过字符串替换来运行:
function load_script($fieldname)
{
$output = file_get_contents("load_script.js");
$output = str_replace("some_unique_identifier", $fieldname, $output);
return $output;
}
有更好的方法吗?
编辑:
我应该在这背后添加一些动机:
首先,给出的示例很难看,除了最简单的 JS 片段外,很难维护。犯错的空间很大。
其次,当您以这种方式混淆时,编辑器在检查语法和突出显示方面并不是很有帮助。
第三,让 JS 在自己的文件中运行可以更轻松地运行在整个站点上运行的缩小脚本(因此您不必手动维护缩小)。