来自C++/C/C#,标签的使用一直困扰着我。在php文件中编写php脚本时,标签是否必须围绕EVERYTHING,或者这些标签之外是否有任何特殊的语法?此外,同一个文件中是否可以有多组标记(即使这违反了惯例(。
PHP被设计为嵌入到网页中。因此,它的工作方式是简单地将输入文件复制到输出,直到遇到<?php
标记。其中的任何内容都作为PHP代码执行。当它看到?>
时,它返回到复制模式。因此,所有可执行代码都必须在<?php ?>
内部,逐字逐句的文本也可以在它外部
来自C,只需将标签之外的所有内容视为一个大的printf()
语句即可。
是的,标签应该位于PHP代码的每个块周围。有多种方法可以做到这一点,其中一种方法是用PHP编写整个文件,例如
<?php
$var = "my text";
echo '<html>';
echo '<head>';
echo '</head>';
echo '<body>';
echo '<p>' . $var . '</p>';
echo '</body>';
echo '</html>';
?>
另一种方法是全行
<html>
<head>
</head>
<body>
<p><?php $var = "my text"; echo $var; ?></p>
</body>
</html>
据我所知,并没有一个真正的首选约定,许多人会根据需要多少php来做其中一个或另一个,或者两者都做。这些信息是您在ANYphp教程网站上真正能找到的,并不适合StackOverflow。
但是,关于是否所有php都需要在<?php ?>
标记中的问题,答案是肯定的,这就是服务器在将文件发送到请求之前知道在哪里计算代码的方式。
编辑:php还将在标记关闭后跟踪值。在面向C的程序中,一个标记块的工作方式与花括号不同,因此在以下情况下:
<?php
$var = "text"
?>
...
<?php
echo $var;
?>
则输出仍然是CCD_ 6。
这也适用于php中的函数,因此如果您有
<?php
function myFunction(){
$var = "text";
?>
<li>
<?php
echo $var;
}
?>
它不会因为关闭了标记而脱离函数。