起步 - 代码怎么写

  • 作者:KK

  • 发表日期:2016.3.9


要写PHP代码就需要建立.php后缀的文件,并且在文件里要以<?php 具体代码 ?>这样的形式来书写PHP代码

我们在网站目录下新建一个叫index.php的文件,并在里面编写这样的代码:

<?php
echo 'Hello World!';
?>

然后用浏览器访问 http://localhost/index.php 这个网址,网页上就会显示"Hello World!"这句话

上面的代码是将<?php(PHP代码的开始标签)和?>(结束标签)分开两行写了,中间写的echo那句代码就是PHP代码,也可以全部写在一行,但是要有空格,比如<?php echo 'Hello World'; ?>


PHP标签之外可以写其它东西

以下代码去运行就会显示"Hi,Jay!How are you?"

Hi,<?php echo 'Jay!' ?>How are you?;

其实PHP引擎将<?php标签里面的代码加载后,执行了代码里面的echo 'Jay!'代码,这个代码会输出指定的字符串,所以最终得到了"Jay!",与PHP标签外面的"Hi!"拼起来就成为了"Hi!Jay!"

那PHP的结束标签后面还有"How are you?"这个字符串其实也是普通文本,于是也拼了上去

注意标签外面的"Hi!"和"How are you?"并不属于PHP代码的范围,它们只是普通的文本,跟PHP没有一丁点关系,所以你怎么书写那些内容完全不会影响PHP的运行,而通常PHP标签代码里面的所有运行代码结果最终也是转换成这样的东西和普通的文本混合在一起


有时候不需要结束标签

上例中是在PHP标签前面加其它东西,而PHP标签后面其实也可以加东西,接下来试试

Hi,<?php
echo 'Jay!';

这样就会显示"Hi,Jay!",以上代码并不包含?>这个PHP标签的结束部分,这也是可以正常运行的,因为PHP代码的后面没有其它要输出的普通文本了

当后面需要输出其它普通文本时,就需要书写结束标签说明PHP代码到此为止,再写普通文本


可以在文本中嵌入多个PHP标签

来来来

ABCD<?php echo 'EFG,'; ?>HIJK<?php echo 'LMN,'; ?>OPQ,<?php echo 'RST';

结果就是"ABCDEFG,HIJKLMN,OPQ,RST",这就是嵌入多个PHP标签来输出多个文本,但最后一个PHP标签后面由于没有普通文本了,所以不需要声明?>来结束PHP,引擎会自动识别

不过你写了结束标签也不会出错,听我说,能不写就不写,不然你会踩坑的!但现在不解释

而以后我的演示代码如果只是纯的PHP代码,我就不会再书写PHP标签了,比如下面这样的代码

<?php
echo 'abc';

我就会直接这样写:

echo 'abc';

除非标签以外有别的东西


如果有混合,通常都是混合HTML

PHP标签外面可以写其它东西,以我多年来的工作经验所见,一般有的情况下98%都是写HTML代码,但也可以写其它,这个未来你就懂,下面看看

<?php
$style = 0;
if(!empty($_GET['style']) && in_array($_GET['style'], [0, 1])){
	$style = $_GET['style'];
}
?>
<div style="width:300px; margin:0 auto;">
	现在的时间是:<?php echo date('Y-m-d H:i:s'); ?>
</div>
<div style="background:<?php $colors = ['blue', 'pink']; echo $colors[$style]; ?>; height:100px;">
	正在使用<?php $genders = ['男生', '女生']; echo $genders[$style] ?>风格
</div>

将以上代码放进index.php后,访问http://localhost/index.php?style=0会有蓝色div

访问http://localhost/index.php?style=1则会有粉色div

这里不是要研究代码的含义,只是看看PHP和HTML代码混合工作的效果,对于index.php来说,它只关注<?php ... ?>这个标签里的内容,加载进引擎并运行解析,标签以外的是什么内容它不管

然后最终这些内容全部变成了一片文本内容后传到了浏览器,这回浏览器可就肯定会关心HTML代码咯,于是就呈现了效果

但是浏览器并不知道PHP代码,不信你看看网页浏览器里的查看源代码视图,你会发现第1个div里面的内容直接就是类似"现在的时间是2012年12月12日 12:12:12"这样的东西,并不能看到<?php echo date('Y-m-d H:i:s'); ?>这句代码

因为index.php里的PHP代码在发给浏览器之前就已经被处理掉了,你可以理解为"内容替换",PHP脚本代码被替换成了最终的PHP输出结果


查看PHP的信息

很简单一句代码:phpinfo(); 就会输出如下图这样的PHP信息,里面说明了PHP的版本,程序各部分相关的路径,配置文件等信息,以后我们会需要查看这些信息的,别忘了有这个东西哦!有时候你在网上提出一些问题时,别人可能会在帮你想解决方案的时候说“麻烦看看你的phpinfo”就是指这个输出结果的内容了