可能重复:
Reference - What does this symbol mean in PHP?什么是这个PHP模板<=的含义
我试着有些失败运行为PHP-Nemid测试脚本。我试图通过代码工作,但当它到达使用文件“nemid.tpl.php”的渲染函数时,它变得有点失落。当我运行脚本时,模板文件被逐字写入屏幕,而不是PHP填充相关的模板变量,而只是写入文字PHP代码。换句话说<?= $some_var_value
就像在渲染页面的源代码中一样。
我不明白的另一件事是模板文件中<?=
的含义是什么。这不是我熟悉的PHP构造。起初我以为我应该将<?= $some_var
更改为<? print $some_var
,但在这种情况下,它仍然会将文字PHP代码打印到页面上。
如果有人能够为我提供一些有关这里发生的事情的信息,我将不胜感激。
模板文件(nemid.tpl.php)
<html>
<body>
<form id="signedForm" name="signedForm" method="post" action="<?= $_SERVER['PHP_SELF'] ?>">
<div id="applet">
<!-- div ID used for overlay/modal-box -->
<applet name="DANID_DIGITAL_SIGNATUR" tabindex="1" archive="<?= $ServerUrlPrefix ?>/bootapplet/1234567" code="dk.pbs.applet.bootstrap.BootApplet" width="200" height="250" mayscript="mayscript" style="visibility: visible; ">
<param name="ServerUrlPrefix" value="<?= $ServerUrlPrefix ?>">
<param name="ZIP_BASE_URL" value="<?= $ZIP_BASE_URL ?>">
<param name="ZIP_FILE_ALIAS" value="<?= $ZIP_FILE_ALIAS ?>">
<param name="log_level" value="<?= $log_level ?>">
<param name="paramcert" value="<?= $paramcert ?>">
<param name="signproperties" value="<?= $signproperties ?>">
<param name="paramsdigest" value="<?= $paramsdigest ?>">
<param name="signeddigest" value="<?= $signeddigest ?>">
<param name="MAYSCRIPT" value="<?= $MAYSCRIPT ?>">
</applet>
</div>
<input type="hidden" name="signature">
<input type="hidden" name="result">
</form>
<script type="text/javascript">
function onLogonOk(signature) {
document.signedForm.signature.value=signature;
document.signedForm.result.value='ok';
document.signedForm.submit();
}
function onLogonCancel() {
document.signedForm.result.value='cancel';
document.signedForm.submit();
}
function onLogonError(emsg) {
document.signedForm.result.value=emsg;
document.signedForm.submit();
}
</script>
</body>
</html>
渲染功能
我已经测试的$内容瓦尔在下面的功能,可以确认所需的提取变量由模板存在。
function render($template, $vars = array())
{
extract($vars);
ob_start();
include('../templates/' . $template . '.tpl.php');
$content = ob_get_contents();
ob_end_clean();
return $content;
}
请注意,由于某些服务器关闭了选项,因此一般情况下不宜使用它。 – Sir
在所有5.4版本的安装中都很完美,它们始终在新版本中启用。 –
我经常看到人们说它皱起眉头,从来不知道为什么。 – Sir