使用JavaScript的PHP(Twig等)中的模板有哪些最佳实践?在这些模板中包含JavaScript是好/坏的做法?如何处理JavaScript?
例如;我当前的设置是
something.php
something.thtml // includes all templating and JavaScript
我想的可能是:
something.php
something.thtml // no JS
something.js // move index.thtml JS out and into its own JS file which is loaded.
然而,从长远来看,这可能成为“意大利面”;所以我想知道在PHP中创建模板时要遵循的标准是什么,以便于维护。
答案 0 :(得分:1)
Twig模板示例:
<!DOCTYPE html>
<html>
<head>
<title>My Webpage</title>
</head>
<body>
<ul id="navigation">
{% for item in navigation %}
<li><a href="{{ item.href }}">{{ item.caption }}</a></li>
{% endfor %}
</ul>
<h1>My Webpage</h1>
{{ a_variable }}
</body>
</html>
答案 1 :(得分:0)
通常你的js会与你的html文件分开,所以你应该尽量避免在模板文件中放入任何javascript,但这样做没有错。
应该有像公共文件夹这样的东西来保存你的css,图像和js 然后所有HTML或模板都单独提供
答案 2 :(得分:0)
我想有很多不同的方法可以做到这一点,但我发现每个文件都有不同的角色是最好的。
我发现在php脚本中创建html页眉和页脚更好,你可以调用你想要的任何javascript
function makeHTML($vTitle,$vMetaKeywords,$vMetaDescription,$vJavascripts,$vOnLoad,$vPage)
{$vHTML = '<!DOCTYPE html">' . "\n";
$vHTML.= '<html>' . "\n";
$vHTML.= '<head>' . "\n";
$vHTML.= '<title>' . $Title . '</title>' . "\n";
$vHTML.= '<LINK HREF="css/style.css" REL="stylesheet" TYPE="text/css">' . "\n";
$vHTML.= '<meta http-equiv="Content-Type" CONTENT="text/html; charset=utf-8">' . "\n";
$vHTML.= '<link rel="stylesheet" href="css/style.css">';
$vHTML.= ($vJavascripts == '' ? '' : $vJavascripts);
$vHTML.= '</head>' . "\n";
$vHTML.= '<body' . ($vOnLoad == '' ? '' : ' onLoad="' . $vOnLoad . '"') . '>' . "\n";
$vHTML.= $vPage;
$vHTML.= '</body>' . "\n";
$vHTML.= '</html>' . "\n";
return $vHTML;}
$ vPage是您从模板创建的页面,不包含任何javascript或html标头。 这样您就可以在不必修改所有模板的情况下处理标题
$ vJavascripts包含您希望从任何javascript文件中获得的javascript。
通过这种方式,您可以处理标题或javascript,而无需每次都在15个不同的文件夹中进行操作。
然后,在脚本的最后,只需将$ vHTML回显到页面